pub struct WebSocket<'buf, RW, Rng> { /* private fields */ }Expand description
Implementations§
Source§impl<'buf, RW, Rng> WebSocket<'buf, RW, Rng>
impl<'buf, RW, Rng> WebSocket<'buf, RW, Rng>
Sourcepub const fn client(
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
) -> Self
pub const fn client( inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], ) -> Self
Creates a new WebSocket client after a successful handshake.
Sourcepub const fn server(
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
) -> Self
pub const fn server( inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], ) -> Self
Creates a new WebSocket server after a successful handshake.
Sourcepub async fn connect<const N: usize>(
options: ConnectOptions<'_, '_>,
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
) -> Result<Self, Error<RW::Error>>
pub async fn connect<const N: usize>( options: ConnectOptions<'_, '_>, inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], ) -> Result<Self, Error<RW::Error>>
Sourcepub async fn connect_with<const N: usize, F, T, E>(
options: ConnectOptions<'_, '_>,
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
on_response: F,
) -> Result<(Self, T), Error<RW::Error, E>>
pub async fn connect_with<const N: usize, F, T, E>( options: ConnectOptions<'_, '_>, inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], on_response: F, ) -> Result<(Self, T), Error<RW::Error, E>>
Sourcepub async fn accept<const N: usize>(
options: AcceptOptions<'_, '_>,
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
) -> Result<Self, Error<RW::Error>>
pub async fn accept<const N: usize>( options: AcceptOptions<'_, '_>, inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], ) -> Result<Self, Error<RW::Error>>
Sourcepub async fn accept_with<const N: usize, F, T, E>(
options: AcceptOptions<'_, '_>,
inner: RW,
rng: Rng,
read_buffer: &'buf mut [u8],
write_buffer: &'buf mut [u8],
fragments_buffer: &'buf mut [u8],
on_request: F,
) -> Result<(Self, T), Error<RW::Error, E>>
pub async fn accept_with<const N: usize, F, T, E>( options: AcceptOptions<'_, '_>, inner: RW, rng: Rng, read_buffer: &'buf mut [u8], write_buffer: &'buf mut [u8], fragments_buffer: &'buf mut [u8], on_request: F, ) -> Result<(Self, T), Error<RW::Error, E>>
Sourcepub const fn with_auto_pong(self, auto_pong: bool) -> Self
pub const fn with_auto_pong(self, auto_pong: bool) -> Self
Sets whether to automatically send a Pong response.
Sourcepub const fn with_auto_close(self, auto_close: bool) -> Self
pub const fn with_auto_close(self, auto_close: bool) -> Self
Sets whether to automatically close the connection on receiving a Close frame.
Sourcepub fn into_inner(self) -> RW
pub fn into_inner(self) -> RW
Consumes the WebSocket and returns the reader/writer.
Sourcepub async fn send(
&mut self,
message: Message<'_>,
) -> Result<(), Error<RW::Error>>
pub async fn send( &mut self, message: Message<'_>, ) -> Result<(), Error<RW::Error>>
Sends a WebSocket message.
Sourcepub async fn send_fragmented(
&mut self,
message: Message<'_>,
fragment_size: usize,
) -> Result<(), Error<RW::Error>>
pub async fn send_fragmented( &mut self, message: Message<'_>, fragment_size: usize, ) -> Result<(), Error<RW::Error>>
Sends a fragmented WebSocket message.
Sourcepub fn split_with<F, R, W>(
self,
split: F,
) -> (WebSocketRead<'buf, R>, WebSocketWrite<'buf, W, Rng>)
pub fn split_with<F, R, W>( self, split: F, ) -> (WebSocketRead<'buf, R>, WebSocketWrite<'buf, W, Rng>)
Splits the WebSocket into a WebSocketRead and a WebSocketWrite with the provided split function.
§Note
auto_pong and auto_close will NOT be applied to the split instances.
Trait Implementations§
Auto Trait Implementations§
impl<'buf, RW, Rng> Freeze for WebSocket<'buf, RW, Rng>
impl<'buf, RW, Rng> RefUnwindSafe for WebSocket<'buf, RW, Rng>where
RW: RefUnwindSafe,
Rng: RefUnwindSafe,
impl<'buf, RW, Rng> Send for WebSocket<'buf, RW, Rng>
impl<'buf, RW, Rng> Sync for WebSocket<'buf, RW, Rng>
impl<'buf, RW, Rng> Unpin for WebSocket<'buf, RW, Rng>
impl<'buf, RW, Rng> !UnwindSafe for WebSocket<'buf, RW, Rng>
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