pub struct TcpServerHandlerRaw<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> { /* private fields */ }
Available on crate feature
streams
only.Expand description
The server side TcpHandler
of the raw
protocol.
Implementations§
Source§impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerRaw<R, W>
impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerRaw<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 TcpServerHandlerRaw
.
Sourcepub fn into_inner(self) -> (R, W)
pub fn into_inner(self) -> (R, W)
Deconstruct the TcpServerHandlerRaw
into the inner parts.
Sourcepub fn from_inner(reader: R, writer: W, version: String) -> Self
pub fn from_inner(reader: R, writer: W, version: String) -> Self
Unsafe!!!
Construct the TcpServerHandlerRaw
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> TcpServerHandlerRaw<R, W>
impl<R: AsyncRead + Unpin, W: AsyncWrite + Unpin> TcpServerHandlerRaw<R, W>
Sourcepub fn get_client_version(&self) -> &str
pub fn get_client_version(&self) -> &str
Get the client’s application version.
Source§impl TcpServerHandlerRaw<BufReader<OwnedReadHalf>, BufWriter<OwnedWriteHalf>>
impl TcpServerHandlerRaw<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 TcpServerHandlerRaw
from tokio::net::TcpStream
.
Trait Implementations§
Source§impl<R: Debug + AsyncRead + Unpin, W: Debug + AsyncWrite + Unpin> Debug for TcpServerHandlerRaw<R, W>
impl<R: Debug + AsyncRead + Unpin, W: Debug + AsyncWrite + Unpin> Debug for TcpServerHandlerRaw<R, W>
Source§impl<R: AsyncRead + Unpin + Send, W: AsyncWrite + Unpin + Send> TcpHandler for TcpServerHandlerRaw<R, W>
impl<R: AsyncRead + Unpin + Send, W: AsyncWrite + Unpin + Send> TcpHandler for TcpServerHandlerRaw<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 TcpServerHandlerRaw<R, W>
impl<R, W> RefUnwindSafe for TcpServerHandlerRaw<R, W>where
R: RefUnwindSafe,
W: RefUnwindSafe,
impl<R, W> Send for TcpServerHandlerRaw<R, W>
impl<R, W> Sync for TcpServerHandlerRaw<R, W>
impl<R, W> Unpin for TcpServerHandlerRaw<R, W>
impl<R, W> UnwindSafe for TcpServerHandlerRaw<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