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>) -> Frame
pub fn new(opcode: Opcode, payload: impl Into<Bytes>) -> Frame
Create a new frame with the given opcode and payload
Sourcepub fn continuation(payload: impl Into<Bytes>) -> Frame
pub fn continuation(payload: impl Into<Bytes>) -> Frame
Create a continuation frame
Sourcepub fn close(code: Option<u16>, reason: Option<&str>) -> Frame
pub fn close(code: Option<u16>, reason: Option<&str>) -> Frame
Create a close frame with optional code and reason
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 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
Mutably borrows from an owned value. Read more