dodo
0.0.1
A C++ library to create containerized Linux services
|
Interface for network communication. More...
Namespaces | |
protocol | |
Application layer protocols. | |
Data Structures | |
class | Address |
Generic network Address, supporting ipv4 and ipv6 transparently. More... | |
struct | AddrInfo |
Address info, comprising the canonical name of a host, and list of address info items for the host. More... | |
struct | AddrInfoItem |
Address info item as used in AddrInfo. More... | |
class | BaseSocket |
Interface to and common implementation of concrete sockets (Socket, TLSSocket). More... | |
class | FileReadBuffer |
File-based VirtualReadBuffer, conventient for testing purposes as parsers can be tested against file instead of network sources. More... | |
class | Socket |
A Linux socket. More... | |
class | SocketParams |
Socket parameters - the family (domain), socket type and protocol triplet. More... | |
class | SocketReadBuffer |
SocketReadBuffer is a VirtualReadBuffer that reads from the BaseSocket in chunks internally. More... | |
class | StringReadBuffer |
String based VirtualReadBuffer, conventient for testing purposes as parsers can be tested against strings instead of network sources. More... | |
class | TCPConnectionData |
Class to track a connection. More... | |
class | TCPListener |
The TCPListener listens, accepts connections and generates socket events to produce TCP work to a pool of TCPServer worker objects. More... | |
class | TCPListenerTimer |
Updates the attribute now_ in the TCPListener at a regular interval to avoid excessive number of calls to gettimeofday in the TCPListener event loop where time high time precision is of lesser importance. More... | |
class | TCPServer |
Used in conjunction with TCPListener to implement high speed, multithreaded TCP services. More... | |
class | TLSContext |
TLS security context. More... | |
class | TLSSocket |
Socket for TLS encrypted traffic between trusted endpoints. More... | |
class | URI |
Uniform Resource Identifier. More... | |
class | VirtualReadBuffer |
Interface to read individual bytes whilst the implementation can read from an actual source (such as a network buffer) in larger chunks, reducing the number of required system calls. More... | |
class | X509Certificate |
X509 public key certificate (PKC) interface. More... | |
class | X509CertificateSigningRequest |
X509 Certificate signing request (CSR) interface. More... | |
class | X509Common |
Interface common to X509 documents. More... | |
Functions | |
void | closeLibrary () |
Close the dodo::network library. More... | |
void | initLibrary () |
Initialize the dodo::network library. More... | |
bool | operator& (const TCPListener::SockState &self, const TCPListener::SockState &other) |
Bitwise & on SocketWork. More... | |
const dodo::common::Puts & | operator<< (const dodo::common::Puts &os, TCPListener::SockState state) |
Nice-write to a Puts. More... | |
TCPListener::SockState & | operator^= (TCPListener::SockState &self, TCPListener::SockState other) |
Bitwise ^= on SocketWork. More... | |
TCPListener::SockState & | operator|= (TCPListener::SockState &self, TCPListener::SockState other) |
Bitwise |= on SocketWork. More... | |
Variables | |
const std::string | yaml_cycle_max_throttles = "cycle-max-throttles" |
cycle_max_throttles YAML configuration name More... | |
const std::string | yaml_listener_sleep_ms = "listener-sleep-ms" |
listener_sleep_ms YAML configuration name More... | |
const std::string | yaml_maxconnections = "max-connections" |
maxconnections YAML configuration name More... | |
const std::string | yaml_maxqdepth = "max-queue-depth" |
maxqdepth YAML configuration name More... | |
const std::string | yaml_maxservers = "max-servers" |
maxservers YAML configuration name More... | |
const std::string | yaml_minservers = "min-servers" |
minservers YAML configuration name More... | |
const std::string | yaml_pollbatch = "poll-batch" |
pollbatch YAML configuration name More... | |
const std::string | yaml_receive_timeout_seconds = "receive-timeout-seconds" |
yaml_receive_timeout_seconds YAML configuration name More... | |
const std::string | yaml_recvbufsz = "receive-buffer" |
recvbufsz YAML configuration name More... | |
const std::string | yaml_send_timeout_seconds = "send-timeout-seconds" |
yaml_send_timeout_seconds YAML configuration name More... | |
const std::string | yaml_sendbufsz = "send-buffer" |
sendbufsz YAML configuration name More... | |
const std::string | yaml_server_idle_ttl_s = "server-idle-ttl-s" |
server_idle_ttl_s YAML configuration name More... | |
const std::string | yaml_stat_trc_interval_s = "stat-trc-interval-s" |
stat_trc_interval_s YAML configuration name More... | |
const std::string | yaml_tcp_keep_alive = "tcp-keep-alive" |
yaml_tcp_keep_alive YAML configuration name More... | |
const std::string | yaml_throttle_sleep_us = "throttle-sleep-us" |
throttle_sleep_us YAML configuration name More... | |
Interface for network communication.
See Secure sockets for details.
void dodo::network::closeLibrary | ( | ) |
Close the dodo::network library.
Definition at line 63 of file network.hpp.
Referenced by dodo::closeLibrary().
void dodo::network::initLibrary | ( | ) |
Initialize the dodo::network library.
Definition at line 48 of file network.hpp.
Referenced by dodo::initLibrary().
|
inline |
Bitwise & on SocketWork.
self | the lvalue |
other | the rvalue |
Definition at line 595 of file tcplistener.hpp.
|
inline |
Nice-write to a Puts.
os | The output Puts |
state | The TCPListener::SockState to write. |
Definition at line 606 of file tcplistener.hpp.
References dodo::network::TCPListener::New, dodo::network::TCPListener::None, dodo::network::TCPListener::Read, and dodo::network::TCPListener::Shut.
|
inline |
Bitwise ^= on SocketWork.
self | the lvalue |
other | the rvalue |
Definition at line 585 of file tcplistener.hpp.
|
inline |
Bitwise |= on SocketWork.
self | the lvalue |
other | the rvalue |
Definition at line 575 of file tcplistener.hpp.
const std::string dodo::network::yaml_cycle_max_throttles = "cycle-max-throttles" |
cycle_max_throttles YAML configuration name
Definition at line 127 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_listener_sleep_ms = "listener-sleep-ms" |
listener_sleep_ms YAML configuration name
Definition at line 123 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_maxconnections = "max-connections" |
maxconnections YAML configuration name
Definition at line 111 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_maxqdepth = "max-queue-depth" |
maxqdepth YAML configuration name
Definition at line 113 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_maxservers = "max-servers" |
maxservers YAML configuration name
Definition at line 109 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_minservers = "min-servers" |
minservers YAML configuration name
Definition at line 107 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_pollbatch = "poll-batch" |
pollbatch YAML configuration name
Definition at line 121 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_receive_timeout_seconds = "receive-timeout-seconds" |
yaml_receive_timeout_seconds YAML configuration name
Definition at line 133 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_recvbufsz = "receive-buffer" |
recvbufsz YAML configuration name
Definition at line 117 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_send_timeout_seconds = "send-timeout-seconds" |
yaml_send_timeout_seconds YAML configuration name
Definition at line 131 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_sendbufsz = "send-buffer" |
sendbufsz YAML configuration name
Definition at line 115 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_server_idle_ttl_s = "server-idle-ttl-s" |
server_idle_ttl_s YAML configuration name
Definition at line 119 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_stat_trc_interval_s = "stat-trc-interval-s" |
stat_trc_interval_s YAML configuration name
Definition at line 129 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_tcp_keep_alive = "tcp-keep-alive" |
yaml_tcp_keep_alive YAML configuration name
Definition at line 135 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::Params::Params().
const std::string dodo::network::yaml_throttle_sleep_us = "throttle-sleep-us" |
throttle_sleep_us YAML configuration name
Definition at line 125 of file tcplistener.cpp.
Referenced by dodo::network::TCPListener::construct(), and dodo::network::TCPListener::Params::Params().