pub struct Frame {
pub fin: bool,
pub rsv: [bool; 3],
pub opcode: Opcode,
pub masked: bool,
pub mask: Option<[u8; 4]>,
pub payload: Bytes,
}Expand description
Represents a WebSocket frame according to RFC 6455
Fields§
§fin: boolIndicates if this is the final frame in a message
rsv: [bool; 3]Reserved bits (RSV1, RSV2, RSV3)
opcode: OpcodeFrame opcode
masked: boolIndicates if the payload is masked
mask: Option<[u8; 4]>Masking key (if present)
payload: BytesPayload data
Implementations§
Source§impl Frame
impl Frame
Sourcepub fn new(opcode: Opcode, payload: impl Into<Bytes>) -> Self
pub fn new(opcode: Opcode, payload: impl Into<Bytes>) -> Self
Create a new frame with the given opcode and payload
Sourcepub fn continuation(payload: impl Into<Bytes>) -> Self
pub fn continuation(payload: impl Into<Bytes>) -> Self
Create a continuation frame
Sourcepub fn close(code: Option<u16>, reason: Option<&str>) -> Self
pub fn close(code: Option<u16>, reason: Option<&str>) -> Self
Create a close frame with optional code and reason
Sourcepub fn compress(self, enabled: bool) -> Self
Available on crate feature compression only.
pub fn compress(self, enabled: bool) -> Self
compression only.Apply compression to the frame (for data frames)
Sourcepub fn parse(buf: &mut BytesMut, compression_enabled: bool) -> Result<Self>
pub fn parse(buf: &mut BytesMut, compression_enabled: bool) -> Result<Self>
Parse a frame from bytes
Sourcepub fn payload_len(&self) -> usize
pub fn payload_len(&self) -> usize
Get the payload length
Sourcepub fn is_control(&self) -> bool
pub fn is_control(&self) -> bool
Check if this is a control frame
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Frame
impl RefUnwindSafe for Frame
impl Send for Frame
impl Sync for Frame
impl Unpin for Frame
impl UnsafeUnpin for Frame
impl UnwindSafe for Frame
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.