pub trait Socket:
Send
+ Sync
+ Unpin
+ 'static {
// Required methods
fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize>;
fn try_write(&mut self, buf: &[u8]) -> Result<usize>;
fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>;
fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>;
fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>;
// Provided methods
fn poll_flush(&mut self, _cx: &mut Context<'_>) -> Poll<Result<()>> { ... }
fn read<'a, B: ReadBuf>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>
where Self: Sized { ... }
fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>
where Self: Sized { ... }
fn flush(&mut self) -> Flush<'_, Self>
where Self: Sized { ... }
fn shutdown(&mut self) -> Shutdown<'_, Self>
where Self: Sized { ... }
}Required Methods§
fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize>
fn try_write(&mut self, buf: &[u8]) -> Result<usize>
fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
Provided Methods§
fn poll_flush(&mut self, _cx: &mut Context<'_>) -> Poll<Result<()>>
fn read<'a, B: ReadBuf>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where
Self: Sized,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where
Self: Sized,
fn flush(&mut self) -> Flush<'_, Self>where
Self: Sized,
fn shutdown(&mut self) -> Shutdown<'_, Self>where
Self: Sized,
Implementations on Foreign Types§
Source§impl Socket for TcpStream
impl Socket for TcpStream
fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize>
fn try_write(&mut self, buf: &[u8]) -> Result<usize>
fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>
Source§impl Socket for UnixStream
Available on Unix only.
impl Socket for UnixStream
Available on Unix only.