pub struct Message<'a> {
    pub opcode: Type,
    pub cd_status_code: Option<u16>,
    pub payload: Cow<'a, [u8]>,
}
Expand description

Represents a WebSocket message.

This message also has the ability to not own its payload, and stores its entire payload in chunks that get written in order when the message gets sent. This makes the write_payload allocate less memory than the payload method (which creates a new buffer every time).

Incidentally this (the default implementation of Message) implements the DataFrame trait because this message just gets sent as one single DataFrame.

Fields

opcode: Type

Type of WebSocket message

cd_status_code: Option<u16>

Optional status code to send when closing a connection. (only used if this message is of Type::Close)

payload: Cow<'a, [u8]>

Main payload

Implementations

Create a new WebSocket message with text data

Create a new WebSocket message with binary data

Create a new WebSocket message that signals the end of a WebSocket connection, although messages can still be sent after sending this

Create a new WebSocket message that signals the end of a WebSocket connection and provide a text reason and a status code for why. Messages can still be sent after sending this message.

Create a ping WebSocket message, a pong is usually sent back after sending this with the same data

Create a pong WebSocket message, usually a response to a ping message

Convert a ping message to a pong, keeping the data. This will fail if the original message is not a ping.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Is this dataframe the final dataframe of the message?

What type of data does this dataframe contain?

Reserved bits of this dataframe

How long (in bytes) is this dataframe’s payload

Write the payload to a writer

Takes the payload out into a vec

Get’s the size of the entire dataframe in bytes, i.e. header and payload. Read more

Writes a DataFrame to a Writer.

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Attempt to form a message from a series of data frames

Returns how many bytes this message will take up

Attempt to form a message from a series of data frames

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Get the TypeId of this object.