pub struct TcpServerHandlerCompressEncrypt<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> { /* private fields */ }
Available on crate features
streams
and compress_encryption
only.Expand description
The server side TcpHandler
of the compress_encrypt
protocol.
Implementations§
Source§impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerCompressEncrypt<R, W>
impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerCompressEncrypt<R, W>
Sourcepub async fn new<P: FnOnce(&str) -> bool>(
reader: R,
writer: W,
identifier: &str,
version_prediction: P,
version: &str,
) -> Result<Self, StarterError>
pub async fn new<P: FnOnce(&str) -> bool>( reader: R, writer: W, identifier: &str, version_prediction: P, version: &str, ) -> Result<Self, StarterError>
Create and init a new TcpServerHandlerCompressEncrypt
.
Sourcepub fn into_inner(self) -> (R, W, Cipher)
pub fn into_inner(self) -> (R, W, Cipher)
Deconstruct the TcpServerHandlerCompressEncrypt
into the inner parts.
Sourcepub fn from_inner(reader: R, writer: W, cipher: Cipher, version: String) -> Self
pub fn from_inner(reader: R, writer: W, cipher: Cipher, version: String) -> Self
Unsafe!!!
Construct the TcpServerHandlerCompressEncrypt
from the inner parts.
Sourcepub async fn send<B: Buf>(&mut self, message: &mut B) -> Result<(), PacketError>
pub async fn send<B: Buf>(&mut self, message: &mut B) -> Result<(), PacketError>
Send a message to the client.
Sourcepub async fn recv(&mut self) -> Result<BytesMut, PacketError>
pub async fn recv(&mut self) -> Result<BytesMut, PacketError>
Receive a message from the client.
Source§impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerCompressEncrypt<R, W>
impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerCompressEncrypt<R, W>
Sourcepub fn get_client_version(&self) -> &str
pub fn get_client_version(&self) -> &str
Get the client’s application version.
Source§impl TcpServerHandlerCompressEncrypt<BufReader<OwnedReadHalf>, BufWriter<OwnedWriteHalf>>
impl TcpServerHandlerCompressEncrypt<BufReader<OwnedReadHalf>, BufWriter<OwnedWriteHalf>>
Sourcepub async fn from_stream<P: FnOnce(&str) -> bool>(
stream: TcpStream,
identifier: &str,
version_prediction: P,
version: &str,
) -> Result<Self, StarterError>
Available on crate feature stream_net
only.
pub async fn from_stream<P: FnOnce(&str) -> bool>( stream: TcpStream, identifier: &str, version_prediction: P, version: &str, ) -> Result<Self, StarterError>
stream_net
only.Construct the TcpServerHandlerCompressEncrypt
from tokio::net::TcpStream
.
Trait Implementations§
Source§impl<R: Debug + AsyncRead + Unpin, W: Debug + AsyncWrite + Unpin> Debug for TcpServerHandlerCompressEncrypt<R, W>
impl<R: Debug + AsyncRead + Unpin, W: Debug + AsyncWrite + Unpin> Debug for TcpServerHandlerCompressEncrypt<R, W>
Source§impl<R: AsyncRead + Unpin + Send, W: AsyncWrite + Unpin + Send> TcpHandler for TcpServerHandlerCompressEncrypt<R, W>
impl<R: AsyncRead + Unpin + Send, W: AsyncWrite + Unpin + Send> TcpHandler for TcpServerHandlerCompressEncrypt<R, W>
Source§fn handler_send<'life0, 'life1, 'async_trait, B>(
&'life0 mut self,
message: &'life1 mut B,
) -> Pin<Box<dyn Future<Output = Result<(), PacketError>> + Send + 'async_trait>>
fn handler_send<'life0, 'life1, 'async_trait, B>( &'life0 mut self, message: &'life1 mut B, ) -> Pin<Box<dyn Future<Output = Result<(), PacketError>> + Send + 'async_trait>>
Send a message to the remote.
Source§fn handler_recv<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<BytesMut, PacketError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handler_recv<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<BytesMut, PacketError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Receive a message from the remote.
Source§fn handler_send_recv<'life0, 'life1, 'async_trait, B>(
&'life0 mut self,
message: &'life1 mut B,
) -> Pin<Box<dyn Future<Output = Result<BytesMut, PacketError>> + Send + 'async_trait>>
fn handler_send_recv<'life0, 'life1, 'async_trait, B>( &'life0 mut self, message: &'life1 mut B, ) -> Pin<Box<dyn Future<Output = Result<BytesMut, PacketError>> + Send + 'async_trait>>
Send and receive a message.
Auto Trait Implementations§
impl<R, W> !Freeze for TcpServerHandlerCompressEncrypt<R, W>
impl<R, W> RefUnwindSafe for TcpServerHandlerCompressEncrypt<R, W>where
R: RefUnwindSafe,
W: RefUnwindSafe,
impl<R, W> Send for TcpServerHandlerCompressEncrypt<R, W>
impl<R, W> Sync for TcpServerHandlerCompressEncrypt<R, W>
impl<R, W> Unpin for TcpServerHandlerCompressEncrypt<R, W>
impl<R, W> UnwindSafe for TcpServerHandlerCompressEncrypt<R, W>where
R: UnwindSafe,
W: UnwindSafe,
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