pub struct TcpWriter<'a> { /* private fields */ }
Expand description
The writer half of a TCP socket.
Implementations§
Source§impl<'a> TcpWriter<'a>
impl<'a> TcpWriter<'a>
Sourcepub async fn wait_write_ready(&self)
pub async fn wait_write_ready(&self)
Wait until the socket becomes writable.
A socket becomes writable when the transmit half of the full-duplex connection is open
(see may_send()
), and the transmit buffer is not full.
This is the equivalent of write, without sending any data.
Sourcepub async fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
pub async fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Write data to the socket.
Returns how many bytes were written, or an error. If the socket is not ready to accept data, it waits until it is.
Sourcepub async fn flush(&mut self) -> Result<(), Error>
pub async fn flush(&mut self) -> Result<(), Error>
Flushes the written data to the socket.
This waits until all data has been sent, and ACKed by the remote host. For a connection
closed with abort()
it will wait for the TCP RST packet to be sent.
Sourcepub async fn write_with<F, R>(&mut self, f: F) -> Result<R, Error>
pub async fn write_with<F, R>(&mut self, f: F) -> Result<R, Error>
Call f
with the largest contiguous slice of octets in the transmit buffer,
and enqueue the amount of elements returned by f
.
If the socket is not ready to accept data, it waits until it is.
Sourcepub fn send_capacity(&self) -> usize
pub fn send_capacity(&self) -> usize
Return the maximum number of bytes inside the transmit buffer.
Sourcepub fn send_queue(&self) -> usize
pub fn send_queue(&self) -> usize
Return the amount of octets queued in the transmit buffer.