Implementation base class for reliable, in-order datagram sockets.
Inherits the transport lifecycle and operations of SocketImpl, adding the guarantee that datagrams are delivered reliably and in order, and that the socket closes if in-order delivery cannot be maintained.
|
|
ReliableSocket | WrapSocket () |
| |
| constexpr | SocketImpl (Allocator &allocator, size_t max_write_message_size_bytes, size_t max_read_message_size_bytes) |
| |
|
constexpr | SocketImpl (Allocator &allocator, size_t max_message_size_bytes) |
| |
| constexpr | SocketImpl (Allocator &allocator, size_t max_write_message_size_bytes, size_t max_read_message_size_bytes) |
| |
|
constexpr | SocketImpl (Allocator &allocator, size_t max_message_size_bytes) |
| |
|
Socket | WrapSocket () |
| |
| void | MarkClosed () |
| |
|
void | WakeReader () |
| | Wakes any pending ReadFuture.
|
| |
| void | WakeOneWriter () |
| |
| void | WakeAllWriters () |
| |
| WriteReservation | CreateReservation (Buf &&buffer=Buf::ZeroLength()) |
| |
| void | Adopt (WriteReservation &reservation, size_t prefix_trim=0, size_t suffix_trim=0) |
| |
|
void | AdoptLocked (WriteReservation &reservation, size_t prefix_trim=0, size_t suffix_trim=0) |
| |
|
| enum class | State : uint8_t { kOpen
, kClosing
, kClosed
} |
| |
|
virtual void | lock () const =0 |
| |
|
virtual void | unlock () const =0 |
| |
|
State | state () const |
| |
|
bool | is_open () const |
| |
|
bool | is_closed () const |
| |
|
bool | is_closing () const |
| |
|
size_t | max_write_message_size_bytes () const |
| |
|
size_t | max_read_message_size_bytes () const |
| |
| ReadFuture | Read () |
| |
|
ReserveWriteFuture | ReserveWrite (size_t min_size_bytes) |
| | Reserves write space for a datagram of at least min_size_bytes.
|
| |
| std::optional< WriteReservation > | TryReserveWrite (size_t min_size_bytes) |
| |
|
CloseFuture | Close () |
| | Closes the socket, resolving once teardown is complete.
|
| |
|
CloseFuture | WhenClosed () |
| | Resolves when the socket is closed.
|
| |
| bool | CommitWrite (Buf buffer) |
| |
| void | CancelWrite (Buf buffer) |
| |