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.
Trait Implementations§
impl Eq for Frame
impl StructuralPartialEq for Frame
Auto Trait Implementations§
impl Freeze for Frame
impl RefUnwindSafe for Frame
impl Send for Frame
impl Sync for Frame
impl Unpin for Frame
impl UnwindSafe for Frame
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)