method TcpStream.read
Up to max bytes. An empty result means the peer closed its sending side (end of stream).
Example:
use std.net { SocketAddr, TcpListener, TcpStream, IpAddr }
fn main() -> () | NetError | ParseError io, net {
let l = TcpListener.bind(SocketAddr.parse("127.0.0.1:0")?)?
defer l.close()?
let c = TcpStream.connect(l.local, 2s)?
defer c.close()?
let s = l.accept(3s)?
defer s.close()?
c.write(b"abc")?
print("{s.read(16)?}")
c.shutdownWrite()?
let rest = s.read(16)?
print("{rest.len()}")
}Вывод
b"abc" 0
pub(api) fn read(max: usize, timeout: Duration? = none) -> bytes | NetError netСложность. O(max) at most; returns as soon as some bytes are available.
С версии. 1.0.0-beta
Параметры
| Имя | Тип |
|---|---|
max | usize |
timeout | Duration? = none |
Возвращает
bytes
Ошибки
NetError- `Timeout` (nothing arrived in time), `Unavailable` (connection reset), `Cancelled`.
Эффекты
net
Определено в: std/net/net.oxl:552