Listener
Description
A bound + listening socket. kind records whether stream (TCP) or datagram (UDP) semantics apply. bound is the address that was passed to ListenerOpen (mostly for logging).
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Socket.c:18:
// client socket, send/recv a byte string, verify it round-trips.
bool test_socket_loopback_round_trip(void) {
Listener listener;
Socket client = {0};
Socket server = {0};- In
Socket.c:222:
// ---------------------------------------------------------------------------
bool ListenerOpen(Listener *out, SocketKind kind, const SocketAddr *addr, i32 backlog) {
if (!out || !addr) {
LOG_ERROR("ListenerOpen: NULL argument");- In
Socket.c:270:
}
bool ListenerAccept(Listener *self, Socket *out_conn) {
if (!self || !out_conn) {
LOG_ERROR("ListenerAccept: NULL argument");- In
Socket.c:291:
}
void ListenerClose(Listener *self) {
if (!self) {
return;- In
Socket.h:59:
SocketKind kind;
SocketAddr bound;
} Listener;
///
- In
Socket.h:144:
/// TAGS: Socket, Listener, Bind
///
bool ListenerOpen(Listener *out, SocketKind kind, const SocketAddr *addr, i32 backlog);
///
- In
Socket.h:158:
/// TAGS: Socket, Listener, Accept
///
bool ListenerAccept(Listener *self, Socket *out_conn);
///
- In
Socket.h:169:
/// TAGS: Socket, Listener, Close
///
void ListenerClose(Listener *self);
// --- Socket (client + accepted) --------------------------------------------
- In
Beam.c:219:
}
Listener listener;
if (!ListenerOpen(&listener, SOCKET_KIND_TCP, &listen_addr, 128)) {
LOG_ERROR("failed to open listener on {}", listen_spec);
Last updated on