Struct tokio_websockets::proto::Message

source ·
pub struct Message { /* private fields */ }
Expand description

A WebSocket message. This is cheaply clonable and uses Payload as the payload storage underneath.

Received messages are always validated prior to dealing with them, so all the type casting methods are either almost or fully zero cost.

Implementations§

source§

impl Message

source

pub fn text<P: Into<Payload>>(payload: P) -> Self

Create a new text message. The payload contents must be valid UTF-8.

source

pub fn binary<P: Into<Payload>>(payload: P) -> Self

Create a new binary message.

source

pub fn close(code: Option<CloseCode>, reason: &str) -> Self

Create a new close message. If an non-empty reason is specified, a CloseCode must be specified for it to be included.

source

pub fn ping<P: Into<Payload>>(payload: P) -> Self

Create a new ping message.

source

pub fn pong<P: Into<Payload>>(payload: P) -> Self

Create a new pong message.

source

pub fn is_text(&self) -> bool

Whether the message is a text message.

source

pub fn is_binary(&self) -> bool

Whether the message is a binary message.

source

pub fn is_close(&self) -> bool

Whether the message is a close message.

source

pub fn is_ping(&self) -> bool

Whether the message is a ping message.

source

pub fn is_pong(&self) -> bool

Whether the message is a pong message.

source

pub fn into_payload(self) -> Payload

Returns the message payload and consumes the message, regardless of type.

source

pub fn as_payload(&self) -> &Payload

Returns a reference to the message payload, regardless of message type.

source

pub fn as_text(&self) -> Option<&str>

Returns a reference to the message payload as a string if it is a text message.

§Panics

This method will panic when the message was created via Message::text with invalid UTF-8.

source

pub fn as_close(&self) -> Option<(CloseCode, &str)>

Returns the CloseCode and close reason if the message is a close message.

Trait Implementations§

source§

impl Clone for Message

source§

fn clone(&self) -> Message

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Message

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Sink<Message> for WebSocketStream<T>
where T: AsyncRead + AsyncWrite + Unpin,

source§

type Error = Error

The type of value produced by the sink when an error occurs.
source§

fn poll_ready( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Attempts to prepare the Sink to receive a value. Read more
source§

fn start_send(self: Pin<&mut Self>, item: Message) -> Result<(), Self::Error>

Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to poll_ready which returned Poll::Ready(Ok(())). Read more
source§

fn poll_flush( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Flush any remaining output from this sink. Read more
source§

fn poll_close( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Flush any remaining output and close this sink, if necessary. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V