Allow querying the size of the TCP transmit and receive buffers.

This may be useful to e.g. ensure the complete transmit buffer
is flushed before proceeding.
This commit is contained in:
whitequark 2017-08-31 13:22:20 +00:00
parent 13dbe09fba
commit a71542b2f2
1 changed files with 14 additions and 0 deletions

View File

@ -683,6 +683,20 @@ impl<'a> TcpSocket<'a> {
Ok(buffer.len())
}
/// Return the amount of octets queued in the transmit buffer.
///
/// Note that the Berkeley sockets interface does not have an equivalent of this API.
pub fn send_queue(&self) -> usize {
self.tx_buffer.len()
}
/// Return the amount of octets queued in the receive buffer.
///
/// Note that the Berkeley sockets interface does not have an equivalent of this API.
pub fn recv_queue(&self) -> usize {
self.rx_buffer.len()
}
fn set_state(&mut self, state: State) {
if self.state != state {
if self.remote_endpoint.addr.is_unspecified() {