diff options
| -rw-r--r-- | embassy-net/src/tcp.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/embassy-net/src/tcp.rs b/embassy-net/src/tcp.rs index bcddbc95b..fc66d6192 100644 --- a/embassy-net/src/tcp.rs +++ b/embassy-net/src/tcp.rs | |||
| @@ -376,11 +376,25 @@ impl<'a> TcpSocket<'a> { | |||
| 376 | self.io.with_mut(|s, _| s.abort()) | 376 | self.io.with_mut(|s, _| s.abort()) |
| 377 | } | 377 | } |
| 378 | 378 | ||
| 379 | /// Get whether the socket is ready to send data, i.e. whether there is space in the send buffer. | 379 | /// Return whether the transmit half of the full-duplex connection is open. |
| 380 | /// | ||
| 381 | /// This function returns true if it's possible to send data and have it arrive | ||
| 382 | /// to the remote endpoint. However, it does not make any guarantees about the state | ||
| 383 | /// of the transmit buffer, and even if it returns true, [write](#method.write) may | ||
| 384 | /// not be able to enqueue any octets. | ||
| 385 | /// | ||
| 386 | /// In terms of the TCP state machine, the socket must be in the `ESTABLISHED` or | ||
| 387 | /// `CLOSE-WAIT` state. | ||
| 380 | pub fn may_send(&self) -> bool { | 388 | pub fn may_send(&self) -> bool { |
| 381 | self.io.with(|s, _| s.may_send()) | 389 | self.io.with(|s, _| s.may_send()) |
| 382 | } | 390 | } |
| 383 | 391 | ||
| 392 | /// Check whether the transmit half of the full-duplex connection is open | ||
| 393 | /// (see [may_send](#method.may_send)), and the transmit buffer is not full. | ||
| 394 | pub fn can_send(&self) -> bool { | ||
| 395 | self.io.with(|s, _| s.can_send()) | ||
| 396 | } | ||
| 397 | |||
| 384 | /// return whether the receive half of the full-duplex connection is open. | 398 | /// return whether the receive half of the full-duplex connection is open. |
| 385 | /// This function returns true if it’s possible to receive data from the remote endpoint. | 399 | /// This function returns true if it’s possible to receive data from the remote endpoint. |
| 386 | /// It will return true while there is data in the receive buffer, and if there isn’t, | 400 | /// It will return true while there is data in the receive buffer, and if there isn’t, |
