Struct solicit::http::frame::settings::SettingsFrame [] [src]

pub struct SettingsFrame {
    pub settings: Vec<HttpSetting>,
    // some fields omitted
}

A struct representing the SETTINGS frames of HTTP/2, as defined in the HTTP/2 spec, section 6.5.

The struct does not try to prevent the client from creating malformed SETTINGS frames, such as ones that have the ACK flag set along with some settings values. The users are responsible to follow the prescribed rules before sending the frame to the peer.

On parsing received frames, it treats the following as errors:

What is not treated as an error (for now) are settings values out of allowed bounds such as a EnablePush being set to something other than 0 or 1.

Fields

settings: Vec<HttpSetting>

Contains all the settings that are currently set in the frame. It is safe to access this field (to read, add, or remove settings), even though a helper method add_setting exists.

Methods

impl SettingsFrame
[src]

fn new() -> SettingsFrame

Creates a new SettingsFrame

fn new_ack() -> SettingsFrame

A convenience constructor that returns a SettingsFrame with the ACK flag already set and no settings.

fn add_setting(&mut self, setting: HttpSetting)

Adds the given setting to the frame.

fn set_ack(&mut self)

Sets the ACK flag for the frame. This method is just a convenience method for calling frame.set_flag(SettingsFlag::Ack).

fn is_ack(&self) -> bool

Checks whether the SettingsFrame has an ACK attached to it.

Trait Implementations

impl PartialEq for SettingsFrame
[src]

fn eq(&self, __arg_0: &SettingsFrame) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &SettingsFrame) -> bool

This method tests for !=.

impl Debug for SettingsFrame
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Clone for SettingsFrame
[src]

fn clone(&self) -> SettingsFrame

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl Frame for SettingsFrame
[src]

type FlagType = SettingsFlag

The type that represents the flags that the particular Frame can take. This makes sure that only valid Flags are used with each Frame.

fn from_raw(raw_frame: RawFrame) -> Option<SettingsFrame>

Creates a new SettingsFrame with the given RawFrame (i.e. header and payload), if possible.

Returns

None if a valid SettingsFrame cannot be constructed from the given RawFrame. The stream ID must be 0 in order for the frame to be valid. If the ACK flag is set, there MUST not be a payload. The total payload length must be multiple of 6.

Otherwise, returns a newly constructed SettingsFrame.

fn is_set(&self, flag: SettingsFlag) -> bool

Tests if the given flag is set for the frame.

fn get_stream_id(&self) -> StreamId

Returns the StreamId of the stream to which the frame is associated.

A SettingsFrame always has to be associated to stream 0.

fn get_header(&self) -> FrameHeader

Returns a FrameHeader based on the current state of the Frame.

fn set_flag(&mut self, flag: SettingsFlag)

Sets the given flag for the frame.

fn serialize(&self) -> Vec<u8>

Returns a Vec with the serialized representation of the frame.