|
| Socket ()=default |
| Constructs an invalid socket.
|
|
| Socket (AddrDomain, SocketType) |
| Constructs a socket for the address domain of specified type.
|
|
| Socket (int fd, AddrDomain domain=AddrDomain::kUnspecified) |
| Adopts an existing socket for specified address domain.
|
|
| operator bool () const |
| Whether the socket is valid.
|
|
bool | IsValid () const override |
| Whether the socket is valid.
|
|
void | Connect (const Sockaddr &, Deadline) |
| Connects the socket to a specified endpoint.
|
|
void | Bind (const Sockaddr &) |
| Binds the socket to the specified endpoint.
|
|
void | Listen (int backlog=SOMAXCONN) |
| Starts listening for connections on a specified socket (must be bound).
|
|
bool | WaitReadable (Deadline) override |
| Suspends current task until the socket has data available.
|
|
bool | WaitWriteable (Deadline) override |
| Suspends current task until the socket can accept more data.
|
|
size_t | RecvSome (void *buf, size_t len, Deadline deadline) |
| Receives at least one byte from the socket.
|
|
size_t | RecvAll (void *buf, size_t len, Deadline deadline) |
| Receives exactly len bytes from the socket.
|
|
size_t | SendAll (std::initializer_list< IoData > list, Deadline deadline) |
| Sends a buffer vector to the socket.
|
|
size_t | WriteAll (std::initializer_list< IoData > list, Deadline deadline) override |
|
size_t | SendAll (const IoData *list, std::size_t list_size, Deadline deadline) |
| Sends exactly list_size IoData to the socket.
|
|
size_t | SendAll (const struct iovec *list, std::size_t list_size, Deadline deadline) |
| Sends exactly list_size iovec to the socket.
|
|
size_t | SendAll (const void *buf, size_t len, Deadline deadline) |
| Sends exactly len bytes to the socket.
|
|
Socket | Accept (Deadline) |
| Accepts a connection from a listening socket.
|
|
RecvFromResult | RecvSomeFrom (void *buf, size_t len, Deadline deadline) |
| Receives at least one byte from the socket, returning source address.
|
|
size_t | SendAllTo (const Sockaddr &dest_addr, const void *buf, size_t len, Deadline deadline) |
| Sends exactly len bytes to the specified address via the socket.
|
|
int | Fd () const |
| File descriptor corresponding to this socket.
|
|
const Sockaddr & | Getpeername () |
| Address of a remote peer.
|
|
const Sockaddr & | Getsockname () |
| Local socket address.
|
|
int | Release () &&noexcept |
| Releases file descriptor and invalidates the socket.
|
|
void | Close () |
| Closes and invalidates the socket.
|
|
int | GetOption (int layer, int optname) const |
| Retrieves a socket option.
|
|
void | SetOption (int layer, int optname, int optval) |
| Sets a socket option.
|
|
size_t | ReadSome (void *buf, size_t len, Deadline deadline) override |
| Receives at least one byte from the socket.
|
|
size_t | ReadAll (void *buf, size_t len, Deadline deadline) override |
| Receives exactly len bytes from the socket.
|
|
size_t | WriteAll (const void *buf, size_t len, Deadline deadline) override |
| Writes exactly len bytes to the socket.
|
|