|
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().