Struct tungstenite::protocol::frame::Frame
source · pub struct Frame {
header: FrameHeader,
payload: Vec<u8>,
}
Expand description
A struct representing a WebSocket frame.
Fields§
§header: FrameHeader
§payload: Vec<u8>
Implementations§
source§impl Frame
impl Frame
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the length of the frame. This is the length of the header + the length of the payload.
sourcepub fn header(&self) -> &FrameHeader
pub fn header(&self) -> &FrameHeader
Get a reference to the frame’s header.
sourcepub fn header_mut(&mut self) -> &mut FrameHeader
pub fn header_mut(&mut self) -> &mut FrameHeader
Get a mutable reference to the frame’s header.
sourcepub fn payload_mut(&mut self) -> &mut Vec<u8>
pub fn payload_mut(&mut self) -> &mut Vec<u8>
Get a mutable reference to the frame’s payload.
sourcepub(crate) fn set_random_mask(&mut self)
pub(crate) fn set_random_mask(&mut self)
Generate a random mask for the frame.
This just generates a mask, payload is not changed. The actual masking is performed
either on format()
or on apply_mask()
call.
sourcepub(crate) fn apply_mask(&mut self)
pub(crate) fn apply_mask(&mut self)
This method unmasks the payload and should only be called on frames that are actually masked. In other words, those frames that have just been received from a client endpoint.
sourcepub fn into_string(self) -> StdResult<String, FromUtf8Error>
pub fn into_string(self) -> StdResult<String, FromUtf8Error>
Consume the frame into its payload as string.
sourcepub(crate) fn into_close(self) -> Result<Option<CloseFrame<'static>>>
pub(crate) fn into_close(self) -> Result<Option<CloseFrame<'static>>>
Consume the frame into a closing frame.
sourcepub fn message(data: Vec<u8>, opcode: OpCode, is_final: bool) -> Frame
pub fn message(data: Vec<u8>, opcode: OpCode, is_final: bool) -> Frame
Create a new data frame.
sourcepub fn close(msg: Option<CloseFrame<'_>>) -> Frame
pub fn close(msg: Option<CloseFrame<'_>>) -> Frame
Create a new Close control frame.
sourcepub fn from_payload(header: FrameHeader, payload: Vec<u8>) -> Self
pub fn from_payload(header: FrameHeader, payload: Vec<u8>) -> Self
Create a frame from given header and data.