|
| struct | AddressInfo |
| | address change notification payload. More...
|
| |
| class | Arp |
| | ARP protocol class. More...
|
| |
| class | Backoff |
| | adaptive backoff for busy-wait loops, requires Rdtsc::calibrate (). More...
|
| |
| class | Base64 |
| | base64 encode, decode class. More...
|
| |
| struct | BasicAsyncAccept |
| | asynchronous accept operation. More...
|
| |
| class | BasicAsyncDatagramSocket |
| | asynchronous datagram socket class. More...
|
| |
| struct | BasicAsyncOpTraits |
| | asynchronous operation traits. More...
|
| |
| class | BasicAsyncRawSocket |
| | asynchronous raw socket class. More...
|
| |
| struct | BasicAsyncRead |
| | asynchronous read operation. More...
|
| |
| class | BasicAsyncSocket |
| | basic asynchronous socket class. More...
|
| |
| class | BasicAsyncStreamAcceptor |
| | asynchronous stream acceptor class. More...
|
| |
| class | BasicAsyncStreamSocket |
| | asynchronous stream socket class. More...
|
| |
| struct | BasicAsyncWait |
| | asynchronous wait operation. More...
|
| |
| struct | BasicAsyncWrite |
| | asynchronous write operation. More...
|
| |
| class | BasicBumpAllocator |
| | bump allocator owning its backends. More...
|
| |
| class | BasicDatagramNameServer |
| | basic DNS name server over datagram socket. More...
|
| |
| class | BasicDatagramPeer |
| | mDNS peer. More...
|
| |
| class | BasicDatagramResolver |
| | basic DNS resolver over datagram socket. More...
|
| |
| class | BasicDatagramSocket |
| | basic datagram socket class. More...
|
| |
| class | BasicDhcp |
| | carries DHCP messages over a packet socket. More...
|
| |
| class | BasicDhcpClient |
| | DHCP client. More...
|
| |
| class | BasicDhcpServer |
| | DHCP server. More...
|
| |
| class | BasicDtlsWrapper |
| | DTLS decorator for datagram sockets. More...
|
| |
| class | BasicEndpoint |
| | basic endpoint class. More...
|
| |
| class | BasicFutex |
| | Futex-based mutex for intra-process locking. More...
|
| |
| class | BasicHttpClient |
| | basic HTTP client. More...
|
| |
| struct | BasicHttpContent |
| | basic HTTP content. More...
|
| |
| class | BasicHttpSecureClient |
| | basic HTTPS client. More...
|
| |
| class | BasicHttpSecureServer |
| | basic HTTPS server. More...
|
| |
| class | BasicHttpServer |
| | basic HTTP server. More...
|
| |
| class | BasicHttpWorker |
| | basic HTTP worker. More...
|
| |
| class | BasicInternetEndpoint |
| | basic internet endpoint class. More...
|
| |
| class | BasicJsonReader |
| | JSON reader class. More...
|
| |
| class | BasicJsonWriter |
| | JSON writer class. More...
|
| |
| class | BasicLinkLayerEndpoint |
| | basic link layer endpoint class. More...
|
| |
| struct | BasicMember |
| | member. More...
|
| |
| class | BasicNdp |
| | carries NDP messages over an ICMPv6 socket. More...
|
| |
| class | BasicNdpClient |
| | NDP client, solicits routers and receives their advertisements. More...
|
| |
| class | BasicNdpServer |
| | NDP server, receives router solicitations and sends advertisements. More...
|
| |
| class | BasicNetlinkEndpoint |
| | basic netlink endpoint class. More...
|
| |
| class | BasicProactor |
| | basic proactor class. More...
|
| |
| class | BasicProactorThread |
| | Convenience class that owns a Proactor running on a dedicated background thread. More...
|
| |
| class | BasicQueue |
| | queue base class. More...
|
| |
| class | BasicRawSocket |
| | basic raw socket class. More...
|
| |
| class | BasicSharedFutex |
| | Futex-based mutex suitable for inter-process locking via shared memory. More...
|
| |
| class | BasicSlabAllocator |
| | slab allocator owning a backend and managing one or more pools. More...
|
| |
| union | BasicSlabChunk |
| | basic chunk. More...
|
| |
| struct | BasicSlabPool |
| | free-list pool operating over a pre-existing memory region. More...
|
| |
| struct | BasicSlabSegment |
| | segment header. More...
|
| |
| class | BasicSmtpClient |
| | basic SMTP client. More...
|
| |
| class | BasicSmtpSecureClient |
| | Basic SMTPS client. More...
|
| |
| class | BasicSocket |
| | basic socket class. More...
|
| |
| class | BasicSocketStream |
| | socket stream class. More...
|
| |
| class | BasicSocketStreambuf |
| | socket stream buffer class. More...
|
| |
| class | BasicStats |
| | lock-free, multi-producer-safe performance statistics collector. More...
|
| |
| class | BasicStreamAcceptor |
| | basic stream acceptor class. More...
|
| |
| class | BasicStreamSocket |
| | basic stream socket class. More...
|
| |
| class | BasicTimer |
| | base timer class. More...
|
| |
| class | BasicTls |
| | basic TLS/DTLS decorator. More...
|
| |
| class | BasicTlsResolver |
| | basic DNS resolver over TLS socket (DNS over TLS). More...
|
| |
| class | BasicTlsStream |
| | TLS stream class. More...
|
| |
| class | BasicTlsWrapper |
| | TLS decorator for stream sockets. More...
|
| |
| class | BasicUnixEndpoint |
| | basic unix endpoint class. More...
|
| |
| class | BasicWheel |
| | timing wheel. More...
|
| |
| struct | BigNumDelete |
| | custom functor for BIGNUM deletion. More...
|
| |
| class | BumpAtomic |
| | bump sync policy using a lock-free cursor. More...
|
| |
| class | BumpPlain |
| | bump sync policy using a plain cursor, single thread only. More...
|
| |
| class | Cache |
| | File cache. More...
|
| |
| class | Chunkstream |
| | chunk stream. More...
|
| |
| class | Chunkstreambuf |
| | chunk stream buffer. More...
|
| |
| class | CompletionHandler |
| | completion handler interface class. More...
|
| |
| class | Condition |
| | condition variable class. More...
|
| |
| class | CpuTopology |
| | CPU topology detector. More...
|
| |
| class | Decoder |
| | decoder. More...
|
| |
| class | Decoderbuf |
| | decoder stream buffer. More...
|
| |
| class | Dhcp |
| | dynamic host configuration protocol class. More...
|
| |
| class | DhcpMessage |
| | DHCP message codec. More...
|
| |
| class | DhcpOption |
| | DHCP option list. More...
|
| |
| struct | DhcpPacket |
| | DHCP message. More...
|
| |
| struct | DhKeyDelete |
| | Custom functor for DH key deletion. More...
|
| |
| class | Digest |
| | digest stream. More...
|
| |
| class | Digestbuf |
| | digest stream buffer. More...
|
| |
| class | DigestCategory |
| | digest error category. More...
|
| |
| class | Dns |
| | DNS over UDP protocol class. More...
|
| |
| class | DnsMessage |
| | DNS message codec. More...
|
| |
| struct | DnsPacket |
| | DNS packet. More...
|
| |
| class | Dot |
| | DNS over TLS protocol class. More...
|
| |
| class | Dtls |
| | DTLS protocol class (DTLS over UDP). More...
|
| |
| struct | EcdhKeyDelete |
| | Custom functor for ECDH key deletion. More...
|
| |
| struct | EcdsaSigDelete |
| | custom functor for ECDSA_SIG deletion. More...
|
| |
| class | Encoder |
| | encoder. More...
|
| |
| class | Encoderbuf |
| | encoder stream buffer. More...
|
| |
| class | ErrorCategory |
| | Error category. More...
|
| |
| class | EventHandler |
| | Event handler interface class. More...
|
| |
| struct | EvpEncodeCtxDelete |
| | custom functor for EVP_ENCODE_CTX deletion. More...
|
| |
| struct | EvpMdCtxDelete |
| | custom functor for EVP_MD_CTX deletion. More...
|
| |
| struct | EvpPkeyCtxDelete |
| | custom functor for EVP_PKEY_CTX deletion. More...
|
| |
| struct | EvpPkeyDelete |
| | custom functor for EVP_PKEY deletion. More...
|
| |
| class | Function |
| | fixed-capacity move-only allocation-free alternative to std::function. More...
|
| |
| class | Function< Return(Args...), Capacity, Alignment > |
| | fixed-capacity move-only allocation-free alternative to std::function. More...
|
| |
| class | HeapMem |
| | heap memory provider. More...
|
| |
| class | Hmac |
| | HMAC stream. More...
|
| |
| class | Hmacbuf |
| | HMAC stream buffer. More...
|
| |
| struct | HmacCtxDelete |
| | custom functor for HMAC_CTX deletion. More...
|
| |
| class | Http |
| | HTTP protocol class (HTTP over TCP). More...
|
| |
| class | HttpCategory |
| | HTTP API generic error category. More...
|
| |
| class | HttpMessage |
| | HTTP message. More...
|
| |
| class | HttpRequest |
| | HTTP request. More...
|
| |
| class | HttpResponse |
| | HTTP response. More...
|
| |
| class | Https |
| | HTTPS protocol class (HTTP over TLS). More...
|
| |
| class | Icmp |
| | ICMP protocol class. More...
|
| |
| class | Interface |
| | interface class. More...
|
| |
| class | InterfaceManager |
| | interface manager class. More...
|
| |
| class | Invoker |
| | thread invoker class. More...
|
| |
| struct | IoDefaultPolicy |
| |
| struct | IoHybridPolicy |
| |
| struct | IoOperation |
| | Describes a single asynchronous operation submitted to the Proactor. More...
|
| |
| class | IoRingBuffer |
| | pool of buffers provided to the I/O backend. More...
|
| |
| struct | IoSqpollPolicy |
| |
| class | IpAddress |
| | IPv6, IPv4 address class. More...
|
| |
| class | IpAddressImpl |
| | IP address implementation interface. More...
|
| |
| class | Ipv4Address |
| | IPv4 address implementation. More...
|
| |
| class | Ipv6Address |
| | IPv6 address implementation. More...
|
| |
| class | JsonCategory |
| | JSON error category. More...
|
| |
| struct | LinkInfo |
| | link change notification payload. More...
|
| |
| class | LocalMem |
| | local anonymous memory provider. More...
|
| |
| struct | LogicalCpu |
| | logical CPU (hardware thread). More...
|
| |
| class | MacAddress |
| | MAC address class. More...
|
| |
| class | Mdns |
| | Multicast DNS protocol class. More...
|
| |
| class | Monotonic |
| | monotonic clock policy (stable, adjusted, recommended default). More...
|
| |
| class | MonotonicRaw |
| | raw monotonic clock policy (raw hardware clock, may drift). More...
|
| |
| struct | Mpmc |
| | multiple producer multiple consumer ring buffer. More...
|
| |
| struct | Mpsc |
| | multiple producer single consumer ring buffer. More...
|
| |
| class | Mutex |
| | class used to protect shared data from being simultaneously accessed by multiple threads. More...
|
| |
| struct | NanoClock |
| | minimal clock type used as a type tag for time_point parameterization. More...
|
| |
| class | Ndp |
| | neighbor discovery protocol class. More...
|
| |
| class | NdpMessage |
| | NDP message codec. More...
|
| |
| struct | NdpPrefix |
| | prefix carried by a router advertisement, RFC 4861 section 4.6.2. More...
|
| |
| struct | NdpRdnss |
| | recursive DNS servers carried by a router advertisement, RFC 8106 section 5.1. More...
|
| |
| class | Neighbor |
| | class representing a single ARP / NDP neighbor cache entry. More...
|
| |
| struct | NeighborAdvertisement |
| | neighbor advertisement, RFC 4861 section 4.4. More...
|
| |
| struct | NeighborInfo |
| | neighbor change notification payload. More...
|
| |
| struct | NeighborKey |
| | key identifying a neighbor cache entry. More...
|
| |
| class | NeighborManager |
| | ARP / NDP neighbor manager class. More...
|
| |
| struct | NeighborSolicitation |
| | neighbor solicitation, RFC 4861 section 4.3. More...
|
| |
| class | Netlink |
| | netlink protocol class. More...
|
| |
| class | NetlinkManager |
| | base class for netlink-based managers. More...
|
| |
| struct | NumaNode |
| | NUMA node containing multiple cores. More...
|
| |
| struct | overload |
| | overload resolution. More...
|
| |
| struct | overload< First, Ts... > |
| | overload resolution. More...
|
| |
| struct | overload< void, Ts... > |
| | overload resolution. More...
|
| |
| struct | overload<> |
| | overload resolution. More...
|
| |
| class | PackReader |
| | message pack reader class. More...
|
| |
| class | PackWriter |
| | message pack writer class. More...
|
| |
| struct | PhysicalCore |
| | physical CPU core (may have multiple logical CPU). More...
|
| |
| class | Ping |
| | ICMP echo client. More...
|
| |
| struct | PingAnswer |
| | answer to an echo request. More...
|
| |
| class | PingStats |
| | ICMP echo statistics. More...
|
| |
| class | PrioInherit |
| | priority inheritance policy. More...
|
| |
| class | PrioNone |
| | no priority inheritance policy. More...
|
| |
| struct | QuestionRecord |
| | question record. More...
|
| |
| struct | QueueSegment |
| | queue memory segment. More...
|
| |
| struct | QueueSlotFull |
| | full queue slot used by MPSC/MPMC. More...
|
| |
| struct | QueueSlotLight |
| | lightweight queue slot used by SPSC. More...
|
| |
| struct | QueueSync |
| | queue synchronization primitives. More...
|
| |
| class | Raw |
| | RAW protocol class. More...
|
| |
| class | Rdtsc |
| | rdtsc clock policy (invariant TSC, CPU pinning, no NTP slewing). More...
|
| |
| class | Reactor |
| | Reactor class. More...
|
| |
| class | ReactorThread |
| | Convenience class that owns a Reactor running on a dedicated background thread. More...
|
| |
| class | RealTime |
| | real-time clock policy. More...
|
| |
| class | RecursiveMutex |
| | class used to protect shared data from being simultaneously accessed by multiple threads. More...
|
| |
| struct | ResourceRecord |
| | resource record. More...
|
| |
| class | Route |
| | class representing a single kernel routing table entry. More...
|
| |
| struct | RouteInfo |
| | route change notification payload. More...
|
| |
| struct | RouteKey |
| | key identifying a routing table entry. More...
|
| |
| class | RouteManager |
| | kernel routing table manager class. More...
|
| |
| struct | RouterAdvertisement |
| | router advertisement, RFC 4861 section 4.2. More...
|
| |
| struct | RouterSolicitation |
| | router solicitation, RFC 4861 section 4.1. More...
|
| |
| class | SaxCategory |
| | SAX API generic error category. More...
|
| |
| struct | SaxHandler |
| | SAX handler ignoring every event, to derive from and use through the derived type. More...
|
| |
| class | ScopedLock |
| | class owning a mutex for the duration of a scoped block. More...
|
| |
| class | ScopedStats |
| | RAII guard that automatically calls start() on construction and stop() on destruction. More...
|
| |
| class | Semaphore |
| | class used to protect shared data from being simultaneously accessed by multiple threads. More...
|
| |
| class | SharedCondition |
| | condition variable class for shared memory. More...
|
| |
| class | SharedMutex |
| | class used to protect shared data from being simultaneously accessed by multiple process via a shared memory. More...
|
| |
| class | SharedSemaphore |
| | class used to protect shared data from being simultaneously accessed by multiple process via a shared memory. More...
|
| |
| class | ShmMem |
| | posix shared memory provider. More...
|
| |
| class | Signature |
| | class used to manage signature. More...
|
| |
| class | Signaturebuf |
| | signature stream buffer. More...
|
| |
| union | SlabTaggedIndex |
| | tagged index. More...
|
| |
| class | Smtp |
| | SMTP protocol class (SMTP over TCP, upgradable to TLS using STARTTLS). More...
|
| |
| class | SmtpMessage |
| | mail message. More...
|
| |
| class | SmtpRecipient |
| | mail recipient. More...
|
| |
| class | Smtps |
| | SMTPS protocol class (SMTP over TLS). More...
|
| |
| class | SmtpSender |
| | mail sender. More...
|
| |
| class | SpinPolicy |
| | wheel run policy spinning on a dedicated thread. More...
|
| |
| struct | Spsc |
| | single producer single consumer ring buffer. More...
|
| |
| struct | SslCtxDelete |
| | custom functor for SSL context deletion. More...
|
| |
| struct | SslDelete |
| | custom functor for SSL handle deletion. More...
|
| |
| struct | StackOfGeneralNameDelete |
| | custom functor for STACK_OF(GENERAL_NAME) deletion. More...
|
| |
| struct | StackOfX509NameDelete |
| | Custom functor for STACK_OF(X509_NAME) deletion. More...
|
| |
| class | StreambufDecorator |
| | stream buffer decorator. More...
|
| |
| struct | SyncBinding |
| | queue forward declarations. More...
|
| |
| class | Tcp |
| | TCP protocol class. More...
|
| |
| class | Thread |
| | thread class. More...
|
| |
| class | ThreadPool |
| | thread pool class. More...
|
| |
| class | Tls |
| | TLS protocol class (TLS over TCP). More...
|
| |
| class | TlsCategory |
| | TLS error category. More...
|
| |
| class | TlsContext |
| | TLS/DTLS context. More...
|
| |
| class | TlsKey |
| | manage private and public keys. More...
|
| |
| class | Udp |
| | UDP protocol class. More...
|
| |
| class | UnixDgram |
| | unix datagram protocol class. More...
|
| |
| class | UnixStream |
| | unix stream protocol class. More...
|
| |
| class | Value |
| | value class. More...
|
| |
| class | ValueBuilder |
| | value builder class, filled by balanced SAX calls. More...
|
| |
| class | Variant |
| | variant class. More...
|
| |
| class | WorkerThread |
| | worker thread class. More...
|
| |
| class | Zstream |
| | zlib stream. More...
|
| |
| class | Zstreambuf |
| | zlib stream buffer. More...
|
| |
|
| template<class Protocol > |
| bool | operator== (const BasicLinkLayerEndpoint< Protocol > &a, const BasicLinkLayerEndpoint< Protocol > &b) noexcept |
| | compare if endpoints are equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicLinkLayerEndpoint< Protocol > &a, const BasicLinkLayerEndpoint< Protocol > &b) noexcept |
| | three-way compare endpoints.
|
| |
| template<class Protocol > |
| std::ostream & | operator<< (std::ostream &os, const BasicLinkLayerEndpoint< Protocol > &endpoint) |
| | push endpoint representation into a stream.
|
| |
| template<class Protocol > |
| bool | operator== (const BasicUnixEndpoint< Protocol > &a, const BasicUnixEndpoint< Protocol > &b) noexcept |
| | compare if endpoints are equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicUnixEndpoint< Protocol > &a, const BasicUnixEndpoint< Protocol > &b) noexcept |
| | three-way compare endpoints.
|
| |
| template<class Protocol > |
| std::ostream & | operator<< (std::ostream &os, const BasicUnixEndpoint< Protocol > &endpoint) |
| | push endpoint representation into a stream.
|
| |
| template<class Protocol > |
| bool | operator== (const BasicInternetEndpoint< Protocol > &a, const BasicInternetEndpoint< Protocol > &b) noexcept |
| | compare if equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicInternetEndpoint< Protocol > &a, const BasicInternetEndpoint< Protocol > &b) noexcept |
| | three-way compare endpoints.
|
| |
| template<class Protocol > |
| std::ostream & | operator<< (std::ostream &os, const BasicInternetEndpoint< Protocol > &endpoint) |
| | push endpoint representation into a stream.
|
| |
| const std::error_category & | getErrorCategory () noexcept |
| | Get error category.
|
| |
| std::error_code | make_error_code (join::Errc code) noexcept |
| | Create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (join::Errc code) noexcept |
| | Create an std::error_condition object.
|
| |
| std::string | base (const std::string &filepath) |
| | get base path of the specified file.
|
| |
| std::string | filename (const std::string &filepath) |
| | get file name of the specified file.
|
| |
| std::string | extension (const std::string &filepath) |
| | get extension of the file specified.
|
| |
| std::string | mime (const std::string &filepath) |
| | get mime type of the specified file.
|
| |
| bool | exists (const std::string &filepath) |
| | check if the file specified exists.
|
| |
| bool | operator== (const IpAddress &a, const IpAddress &b) |
| | compare if two IP address are equals.
|
| |
| std::strong_ordering | operator<=> (const IpAddress &a, const IpAddress &b) |
| | three-way compare IP addresses.
|
| |
| IpAddress | operator& (const IpAddress &a, const IpAddress &b) |
| | perform AND operation on IP address.
|
| |
| IpAddress | operator| (const IpAddress &a, const IpAddress &b) |
| | perform OR operation on IP address.
|
| |
| IpAddress | operator^ (const IpAddress &a, const IpAddress &b) |
| | perform XOR operation on IP address.
|
| |
| std::ostream & | operator<< (std::ostream &out, const IpAddress &address) |
| | insert address into stream.
|
| |
| MacAddress | operator+ (int value, const MacAddress &a) |
| | add the provided value to the provided MAC address.
|
| |
| MacAddress | operator+ (const MacAddress &a, int value) |
| | add the provided value to the provided MAC address.
|
| |
| bool | operator== (const MacAddress &a, const MacAddress &b) |
| | compare if two MAC address are equals.
|
| |
| std::strong_ordering | operator<=> (const MacAddress &a, const MacAddress &b) |
| | three-way compare MAC addresses.
|
| |
| MacAddress | operator& (const MacAddress &a, const MacAddress &b) |
| | perform AND operation on MAC address.
|
| |
| MacAddress | operator| (const MacAddress &a, const MacAddress &b) |
| | perform OR operation on MAC address.
|
| |
| MacAddress | operator^ (const MacAddress &a, const MacAddress &b) |
| | perform XOR operation on MAC address.
|
| |
| std::ostream & | operator<< (std::ostream &out, const MacAddress &a) |
| | insert MAC address into stream.
|
| |
| uint64_t | pageSize () noexcept |
| | get the system page size.
|
| |
| uint64_t | hugePageSize () noexcept |
| | get the default huge page size.
|
| |
| int | mlock (void *ptr, size_t size) noexcept |
| | lock memory in RAM.
|
| |
| constexpr bool | operator== (const Udp &a, const Udp &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Icmp &a, const Icmp &b) noexcept |
| | check if equal.
|
| |
| constexpr bool | operator== (const Tcp &a, const Tcp &b) noexcept |
| | check if equals.
|
| |
| template<class Protocol > |
| bool | operator== (const BasicSocket< Protocol > &a, const BasicSocket< Protocol > &b) noexcept |
| | compare if socket handles are equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicSocket< Protocol > &a, const BasicSocket< Protocol > &b) noexcept |
| | three-way compare socket handles.
|
| |
| std::ostream & | statsHeader (std::ostream &out) |
| | print the statistics table header to a stream.
|
| |
| std::ostream & | nsec (std::ostream &out) |
| | set latency display unit to nanoseconds.
|
| |
| std::ostream & | usec (std::ostream &out) |
| | set latency display unit to microseconds.
|
| |
| std::ostream & | msec (std::ostream &out) |
| | set latency display unit to milliseconds.
|
| |
| std::ostream & | sec (std::ostream &out) |
| | set latency display unit to seconds.
|
| |
| std::ostream & | ops (std::ostream &out) |
| | set throughput display unit to ops/sec.
|
| |
| std::ostream & | kops (std::ostream &out) |
| | set throughput display unit to Kops/sec.
|
| |
| std::ostream & | mops (std::ostream &out) |
| | set throughput display unit to Mops/sec.
|
| |
| std::ostream & | gops (std::ostream &out) |
| | set throughput display unit to Gops/sec.
|
| |
| template<class ClockPolicy > |
| std::ostream & | operator<< (std::ostream &out, const BasicStats< ClockPolicy > &statistics) |
| | stream insertion operator for statistics.
|
| |
| template<class InputIt , class Func > |
| void | distribute (InputIt first, InputIt last, Func function) |
| | determine the number of threads and tasks per thread to run and execute them in parallel.
|
| |
| template<class InputIt , class Func > |
| void | parallelForEach (InputIt first, InputIt last, Func function) |
| | parallel for each loop.
|
| |
| template<typename Exception , typename... Args> |
| | __attribute__ ((cold, noinline)) void throwException(Args &&... args) |
| | throw an exception out of the hot path.
|
| |
template<class Type >
requires (std::is_arithmetic_v<Type> && sizeof (Type) <= sizeof (uint64_t)) |
| Type & | swap (Type &val) |
| | swaps byte orders.
|
| |
| bool | compareNoCase (const std::string &a, const std::string &b) |
| | case insensitive string comparison.
|
| |
| std::string & | trimLeft (std::string &s) |
| | trim left.
|
| |
| std::string & | trimRight (std::string &s) |
| | trim right.
|
| |
| std::string & | trim (std::string &s) |
| | trim.
|
| |
| std::string & | replaceAll (std::string &str, const std::string &toReplace, const std::string &by) |
| | replace all occurrences of a substring.
|
| |
| std::vector< std::string > | split (const std::string &in, const std::string &delim) |
| | split a string using a delimiter.
|
| |
| std::vector< std::string > | rsplit (const std::string &in, const std::string &delim) |
| | split a string in reverse order using a delimiter.
|
| |
| bool | getline (std::istream &in, std::string &line, std::streamsize max=1024) |
| | read line (delimiter "\r\n").
|
| |
| bool | getline (std::streambuf &in, std::string &line, std::streamsize max=1024) |
| | read line (delimiter "\r\n").
|
| |
| bool | readBytes (const char *&cur, const char *end, void *out, size_t size) noexcept |
| | read bytes from a buffer.
|
| |
| bool | writeBytes (char *&cur, const char *end, const void *in, size_t size) noexcept |
| | write bytes to a buffer.
|
| |
| uint16_t | checksum (const uint16_t *data, size_t len, uint16_t current=0) noexcept |
| | get standard 1s complement checksum.
|
| |
| void | dump (const void *data, unsigned long size, std::ostream &out=std::cout) |
| | dump data to standard output stream.
|
| |
| template<typename Type > |
| Type | randomize () |
| | create a random number.
|
| |
| template<class Func , class... Args> |
| std::chrono::milliseconds | benchmark (Func &&func, Args &&... args) |
| | benchmark function call.
|
| |
| template<typename Clock , typename Duration > |
| struct timespec | toTimespec (std::chrono::time_point< Clock, Duration > timePoint) |
| | converts time_point to timespec.
|
| |
| template<typename Rep , typename Period > |
| struct timespec | toTimespec (std::chrono::duration< Rep, Period > duration) |
| | converts duration to timespec.
|
| |
| constexpr bool | isPow2 (uint64_t value) noexcept |
| | check if a value is a power of two.
|
| |
| constexpr uint64_t | nextPow2 (uint64_t value) noexcept |
| | round up to the next power of two.
|
| |
| template<typename... Ts> |
| constexpr bool | operator== (const Variant< Ts... > &lhs, const Variant< Ts... > &rhs) |
| | compare if equal.
|
| |
| template<typename... Ts> |
| constexpr details::VariantOrdering< Ts... > | operator<=> (const Variant< Ts... > &lhs, const Variant< Ts... > &rhs) |
| | three-way compare variants.
|
| |
| template<typename... Ts> |
| void | swap (Variant< Ts... > &lhs, Variant< Ts... > &rhs) noexcept |
| | swap two variants.
|
| |
| template<typename Type > |
| class | __attribute__ ((packed)) View |
| | non-owning contiguous sequence of elements.
|
| |
| template<typename Type > |
| constexpr bool | operator== (const View< Type > &lhs, const View< Type > &rhs) |
| | compare views.
|
| |
| template<typename Type > |
| constexpr std::partial_ordering | operator<=> (const View< Type > &lhs, const View< Type > &rhs) |
| | three-way compare views.
|
| |
template<typename Type >
requires std::same_as<std::remove_const_t<Type>, char> |
| constexpr bool | operator== (const View< Type > &lhs, const View< Type > &rhs) |
| | compare character views.
|
| |
template<typename Type >
requires std::same_as<std::remove_const_t<Type>, char> |
| constexpr std::partial_ordering | operator<=> (const View< Type > &lhs, const View< Type > &rhs) |
| | three-way compare character views.
|
| |
| std::string | bin2hex (const BytesArray &bin) |
| | convert bytes array to string.
|
| |
| const std::error_category & | getDigestCategory () |
| | get error category.
|
| |
| std::error_code | make_error_code (DigestErrc code) |
| | create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (DigestErrc code) |
| | create an std::error_condition object.
|
| |
| void | initializeOpenSSL () |
| | initialize the OpenSSL libraries.
|
| |
| template<class Protocol > |
| bool | operator== (const BasicTls< Protocol > &a, const BasicTls< Protocol > &b) noexcept |
| | compare if TLS decorators are equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicTls< Protocol > &a, const BasicTls< Protocol > &b) noexcept |
| | three-way compare TLS decorators.
|
| |
| const std::error_category & | getTlsCategory () |
| | get error category.
|
| |
| std::error_code | make_error_code (TlsErrc code) |
| | create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (TlsErrc code) |
| | create an std::error_condition object.
|
| |
| constexpr bool | operator== (const Tls &a, const Tls &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Dtls &a, const Dtls &b) noexcept |
| | check if equals.
|
| |
| const std::error_category & | jsonCategory () noexcept |
| | get error category.
|
| |
| std::error_code | make_error_code (JsonErrc code) noexcept |
| | create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (JsonErrc code) noexcept |
| | create an std::error_condition object.
|
| |
| constexpr JsonReadMode | operator& (JsonReadMode a, JsonReadMode b) noexcept |
| | perform binary AND on JsonReadMode.
|
| |
| constexpr JsonReadMode | operator| (JsonReadMode a, JsonReadMode b) noexcept |
| | perform binary OR on JsonReadMode.
|
| |
| constexpr const JsonReadMode & | operator&= (JsonReadMode &a, JsonReadMode b) noexcept |
| | perform binary AND on JsonReadMode.
|
| |
| constexpr const JsonReadMode & | operator|= (JsonReadMode &a, JsonReadMode b) noexcept |
| | perform binary OR on JsonReadMode.
|
| |
| const std::error_category & | saxCategory () noexcept |
| | get error category.
|
| |
| std::error_code | make_error_code (SaxErrc code) noexcept |
| | create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (SaxErrc code) noexcept |
| | create an std::error_condition object.
|
| |
| constexpr bool | operator== (const Value &lhs, const Value &rhs) |
| | compare if equal.
|
| |
| constexpr std::partial_ordering | operator<=> (const Value &lhs, const Value &rhs) |
| | three-way compare values.
|
| |
| bool | operator== (const DhcpOption &lhs, const DhcpOption &rhs) |
| | compare if equal.
|
| |
| std::weak_ordering | operator<=> (const DhcpOption &lhs, const DhcpOption &rhs) |
| | three-way compare options.
|
| |
| std::ostream & | operator<< (std::ostream &out, const DhcpOption &options) |
| | insert options into stream.
|
| |
| constexpr bool | operator== (const Dhcp &a, const Dhcp &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Dns &a, const Dns &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Dot &a, const Dot &b) noexcept |
| | check if equals.
|
| |
| bool | operator== (const Interface::Ptr &lhs, const Interface::Ptr &rhs) |
| | compare if two interfaces are equal.
|
| |
| std::strong_ordering | operator<=> (const Interface::Ptr &lhs, const Interface::Ptr &rhs) |
| | three-way compare interfaces.
|
| |
| InterfaceChangeType | operator& (InterfaceChangeType a, InterfaceChangeType b) |
| | perform binary AND on InterfaceChangeType.
|
| |
| InterfaceChangeType | operator| (InterfaceChangeType a, InterfaceChangeType b) |
| | perform binary OR on InterfaceChangeType.
|
| |
| InterfaceChangeType | operator^ (InterfaceChangeType a, InterfaceChangeType b) |
| | perform binary XOR on InterfaceChangeType.
|
| |
| InterfaceChangeType | operator~ (InterfaceChangeType a) |
| | perform binary NOT on InterfaceChangeType.
|
| |
| const InterfaceChangeType & | operator&= (InterfaceChangeType &a, InterfaceChangeType b) |
| | perform binary AND assignment on InterfaceChangeType.
|
| |
| const InterfaceChangeType & | operator|= (InterfaceChangeType &a, InterfaceChangeType b) |
| | perform binary OR assignment on InterfaceChangeType.
|
| |
| const InterfaceChangeType & | operator^= (InterfaceChangeType &a, InterfaceChangeType b) |
| | perform binary XOR assignment on InterfaceChangeType.
|
| |
| constexpr bool | operator== (const Mdns &a, const Mdns &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Ndp &a, const Ndp &b) noexcept |
| | check if equals.
|
| |
| bool | operator== (const NeighborKey &lhs, const NeighborKey &rhs) noexcept |
| | compare if two neighbor keys are equal.
|
| |
| std::strong_ordering | operator<=> (const NeighborKey &lhs, const NeighborKey &rhs) noexcept |
| | three-way compare neighbor keys.
|
| |
| bool | operator== (const Neighbor::Ptr &lhs, const Neighbor::Ptr &rhs) |
| | compare if two neighbor are equal.
|
| |
| std::strong_ordering | operator<=> (const Neighbor::Ptr &lhs, const Neighbor::Ptr &rhs) |
| | three-way compare neighbors.
|
| |
| NeighborChangeType | operator& (NeighborChangeType a, NeighborChangeType b) |
| | perform binary AND on NeighborChangeType.
|
| |
| NeighborChangeType | operator| (NeighborChangeType a, NeighborChangeType b) |
| | perform binary OR on NeighborChangeType.
|
| |
| NeighborChangeType | operator^ (NeighborChangeType a, NeighborChangeType b) |
| | perform binary XOR on NeighborChangeType.
|
| |
| NeighborChangeType | operator~ (NeighborChangeType a) |
| | perform binary NOT on NeighborChangeType.
|
| |
| const NeighborChangeType & | operator&= (NeighborChangeType &a, NeighborChangeType b) |
| | perform binary AND on NeighborChangeType.
|
| |
| const NeighborChangeType & | operator|= (NeighborChangeType &a, NeighborChangeType b) |
| | perform binary OR on NeighborChangeType.
|
| |
| const NeighborChangeType & | operator^= (NeighborChangeType &a, NeighborChangeType b) |
| | perform binary XOR on NeighborChangeType.
|
| |
| template<class Protocol > |
| bool | operator== (const BasicNetlinkEndpoint< Protocol > &a, const BasicNetlinkEndpoint< Protocol > &b) noexcept |
| | compare if endpoints are equal.
|
| |
| template<class Protocol > |
| std::strong_ordering | operator<=> (const BasicNetlinkEndpoint< Protocol > &a, const BasicNetlinkEndpoint< Protocol > &b) noexcept |
| | three-way compare endpoints.
|
| |
| template<class Protocol > |
| std::ostream & | operator<< (std::ostream &os, const BasicNetlinkEndpoint< Protocol > &endpoint) |
| | push endpoint representation into a stream.
|
| |
| constexpr bool | operator== (const Netlink &a, const Netlink &b) noexcept |
| | check if equals.
|
| |
| bool | operator== (const RouteKey &lhs, const RouteKey &rhs) noexcept |
| | compare if two route keys are equal.
|
| |
| std::strong_ordering | operator<=> (const RouteKey &lhs, const RouteKey &rhs) noexcept |
| | three-way compare route keys.
|
| |
| bool | operator== (const Route::Ptr &lhs, const Route::Ptr &rhs) |
| | compare if two routes are equal.
|
| |
| std::strong_ordering | operator<=> (const Route::Ptr &lhs, const Route::Ptr &rhs) |
| | three-way compare routes.
|
| |
| RouteChangeType | operator& (RouteChangeType a, RouteChangeType b) |
| | perform binary AND on RouteChangeType.
|
| |
| RouteChangeType | operator| (RouteChangeType a, RouteChangeType b) |
| | perform binary OR on RouteChangeType.
|
| |
| RouteChangeType | operator^ (RouteChangeType a, RouteChangeType b) |
| | perform binary XOR on RouteChangeType.
|
| |
| RouteChangeType | operator~ (RouteChangeType a) |
| | perform binary NOT on RouteChangeType.
|
| |
| const RouteChangeType & | operator&= (RouteChangeType &a, RouteChangeType b) |
| | perform binary AND assignment on RouteChangeType.
|
| |
| const RouteChangeType & | operator|= (RouteChangeType &a, RouteChangeType b) |
| | perform binary OR assignment on RouteChangeType.
|
| |
| const RouteChangeType & | operator^= (RouteChangeType &a, RouteChangeType b) |
| | perform binary XOR assignment on RouteChangeType.
|
| |
| template<class Protocol > |
| constexpr BasicHttpClient< Protocol > & | operator<< (BasicHttpClient< Protocol > &out, HttpRequest &request) |
| | write HTTP request to the HTTP stream.
|
| |
| template<class Protocol > |
| constexpr BasicHttpClient< Protocol > & | operator>> (BasicHttpClient< Protocol > &in, HttpResponse &response) |
| | read HTTP response from the HTTP stream.
|
| |
| template<class Protocol > |
| constexpr BasicHttpSecureClient< Protocol > & | operator<< (BasicHttpSecureClient< Protocol > &out, HttpRequest &request) |
| | write request to the HTTPS stream.
|
| |
| template<class Protocol > |
| constexpr BasicHttpSecureClient< Protocol > & | operator>> (BasicHttpSecureClient< Protocol > &in, HttpResponse &response) |
| | read response from the HTTPS stream.
|
| |
| const std::error_category & | httpCategory () |
| | get error category.
|
| |
| std::error_code | make_error_code (HttpErrc code) |
| | create an std::error_code object.
|
| |
| std::error_condition | make_error_condition (HttpErrc code) |
| | create an std::error_condition object.
|
| |
| HttpMethod | operator& (HttpMethod __a, HttpMethod __b) |
| | perform binary AND on HttpMethod.
|
| |
| HttpMethod | operator| (HttpMethod __a, HttpMethod __b) |
| | perform binary OR on HttpMethod.
|
| |
| HttpMethod | operator^ (HttpMethod __a, HttpMethod __b) |
| | perform binary XOR on HttpMethod.
|
| |
| HttpMethod | operator~ (HttpMethod __a) |
| | perform binary NOT on HttpMethod.
|
| |
| const HttpMethod & | operator&= (HttpMethod &__a, HttpMethod __b) |
| | perform binary AND on HttpMethod.
|
| |
| const HttpMethod & | operator|= (HttpMethod &__a, HttpMethod __b) |
| | perform binary OR on HttpMethod.
|
| |
| const HttpMethod & | operator^= (HttpMethod &__a, HttpMethod __b) |
| | perform binary XOR on HttpMethod.
|
| |
| constexpr bool | operator== (const Http &a, const Http &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Https &a, const Https &b) noexcept |
| | check if equals.
|
| |
| std::ostream & | operator<< (std::ostream &out, const SmtpSender &sender) |
| | insert mail sender into stream.
|
| |
| constexpr bool | operator== (const Smtp &a, const Smtp &b) noexcept |
| | check if equals.
|
| |
| constexpr bool | operator== (const Smtps &a, const Smtps &b) noexcept |
| | check if equals.
|
| |
MIT License
Copyright (c) 2021 Mathieu Rabine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License
Copyright (c) 2026 Mathieu Rabine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License
Copyright (c) 2023 Mathieu Rabine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License
Copyright (c) 2022 Mathieu Rabine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License
Copyright (c) 2025 Mathieu Rabine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.