1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use ;
/// A poll-based, runtime-independent byte-stream interface.
///
/// Implement this for the link underneath a [`Reliable`](crate::Reliable)
/// connection. [`Reliable`](crate::Reliable) implements it too, so the
/// reliable stream can be used wherever a byte stream is expected.
///
/// Each method follows the usual poll contract: when it returns
/// [`Poll::Pending`], it has arranged for `cx.waker()` to be woken when the
/// call could make progress. Methods take `&mut self` and impose no `Send`,
/// `'static` or pinning requirements; runtime adapters handle those
/// themselves.