Explorar el Código

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.
whitequark hace 7 años
padre
commit
7e2dc1a6d6
Se han modificado 1 ficheros con 14 adiciones y 0 borrados
  1. 14 0
      src/socket/tcp.rs

+ 14 - 0
src/socket/tcp.rs

@@ -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() {