Trait solicit::http::frame::Frame [] [src]

pub trait Frame: Sized {
    type FlagType: Flag;
    fn from_raw(raw_frame: RawFrame) -> Option<Self>;
    fn is_set(&self, flag: Self::FlagType) -> bool;
    fn get_stream_id(&self) -> StreamId;
    fn get_header(&self) -> FrameHeader;
    fn set_flag(&mut self, flag: Self::FlagType);
    fn serialize(&self) -> Vec<u8>;
}

A trait that all HTTP/2 frame structs need to implement.

Associated Types

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

Required Methods

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

Returns

None if a valid Frame cannot be constructed from the given RawFrame. Some reasons why this may happen is a wrong frame type in the header, a body that cannot be decoded according to the particular frame's rules, etc.

Otherwise, returns a newly constructed Frame.

Tests if the given flag is set for the frame.

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

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

Sets the given flag for the frame.

Returns a Vec with the serialized representation of the frame.

Implementors