|
qb
2.0.0.0
C++17 Actor Framework
|
Asynchronous I/O operations, networking, and related utilities. More...

Topics | |
| Asynchronous System | |
| Core mechanisms for event-driven asynchronous programming. | |
| Networking Utilities | |
| Socket wrappers, endpoint representation, and URI parsing. | |
| Transport Layer | |
| Abstractions over network sockets and file operations for stream-based I/O. | |
| Protocol Handling | |
| Message framing and parsing implementations. | |
| File System Operations | |
| Components for interacting with the local file system. | |
| Cryptographic Utilities | |
| Hashing, encryption, and JWT functionalities (requires OpenSSL). | |
| Compression Utilities | |
| Data compression and decompression (requires Zlib). | |
| JSON Utilities | |
| JSON parsing, manipulation, and serialization utilities. | |
Files | |
| file | io.h |
| Core I/O and logging utilities for the qb framework. | |
| file | async.h |
| Main include file for the QB asynchronous I/O library. | |
| file | epoll.h |
| Epoll-based event polling for Linux systems. | |
| file | all.h |
| Aggregation of all event types for the asynchronous I/O system. | |
| file | base.h |
| Base class for asynchronous events in the QB IO library. | |
| file | file.h |
| Asynchronous file operations for the QB IO library. | |
| file | io.h |
| Core asynchronous I/O class templates for event-driven operations. | |
| file | protocol.h |
| Protocol interfaces for message processing in the asynchronous IO framework. | |
| file | config.h |
| Configuration and platform-specific definitions for the QB IO library. | |
| file | accept.h |
| Protocol for accepting new connections in asynchronous I/O. | |
| file | base.h |
| Base protocol implementations for message framing in the QB IO system. | |
| file | handshake.h |
| Protocol for handling the handshake of a new connection. | |
| file | json.h |
| JSON protocol implementations for the QB IO system. | |
| file | text.h |
| Protocols for processing text and binary messages in the QB IO system. | |
| file | stream.h |
| Core stream abstraction classes for the QB IO library. | |
| file | uri.h |
| URI parsing and manipulation utilities. | |
Macros | |
| #define | QB_ENABLE_UDS 1 |
| Enables Unix Domain Socket support via SOCK_STREAM. | |
| #define | QB__DECL |
| Function declaration specifier that changes based on whether header-only mode is enabled. | |
| #define | QB_INTEROP_DECL |
| Interoperability declaration for function pointers. | |
| #define | QB_ARRAYSIZE(A) |
| Macro to calculate the number of elements in a statically-allocated array. | |
| #define | QB_SSIZEOF(T) |
| Macro to get the size of a type as a signed integer. | |
| #define | QB_OBSOLETE_DEPRECATE(_Replacement) |
| Marks functions as deprecated with a replacement suggestion. | |
| #define | QB_VERSION_NUM 0x033705 |
| Defines the QB library version number in hexadecimal format. | |
| #define | QB_DEFAULT_MULTICAST_TTL (int) 128 |
| Default Time-To-Live value for multicast packets. | |
| #define | QB_INET_BUFFER_SIZE 65536 |
| Maximum size for internet protocol buffers. | |
| #define | QB_MAX_PDU_BUFFER_SIZE static_cast<int>(1 * 1024 * 1024) |
| Maximum Protocol Data Unit buffer size. | |
| #define | QB_UNPACK_MAX_STRIP 32 |
| Maximum number of initial bytes that can be stripped during unpacking. | |
| #define | SD_RECEIVE SHUT_RD |
| Socket shutdown flag for disabling receive operations. | |
| #define | SD_SEND SHUT_WR |
| Socket shutdown flag for disabling send operations. | |
| #define | SD_BOTH SHUT_RDWR |
| Socket shutdown flag for disabling both send and receive operations. | |
| #define | closesocket close |
| Cross-platform macro for closing a socket. | |
| #define | ioctlsocket ioctl |
| Cross-platform macro for socket I/O control. | |
| #define | FD_TO_SOCKET(fd) |
| Converts a file descriptor to a socket handle. | |
| #define | OPEN_FD_FROM_SOCKET(sock) |
| Converts a socket handle to a file descriptor. | |
| #define | SD_NONE -1 |
| Special value indicating no socket shutdown operation. | |
| #define | MAXNS 3 |
| Maximum number of nameservers. | |
| #define | IN_MAX_ADDRSTRLEN INET6_ADDRSTRLEN |
| Maximum length of string representation for an IP address. | |
Typedefs | |
| typedef int | socket_type |
| Cross-platform socket handle type. | |
Asynchronous I/O operations, networking, and related utilities.
Provides non-blocking I/O for TCP, UDP, SSL, files, along with protocols, cryptographic functions, and compression.
| #define QB_ENABLE_UDS 1 |
Enables Unix Domain Socket support via SOCK_STREAM.
When defined as 1, enables support for Unix Domain Sockets which provide efficient inter-process communication on Unix-like systems
| #define QB__DECL |
Function declaration specifier that changes based on whether header-only mode is enabled.
When QB_HEADER_ONLY is defined, functions are marked as inline
| #define QB_INTEROP_DECL |
Interoperability declaration for function pointers.
Used for properly storing managed C# functions as C++ function pointers Uses __stdcall on 32-bit Windows platforms
| #define QB_ARRAYSIZE | ( | A | ) |
Macro to calculate the number of elements in a statically-allocated array.
| A | Array to determine the size of |
| #define QB_SSIZEOF | ( | T | ) |
Macro to get the size of a type as a signed integer.
| T | Type to get the size of |
| #define QB_OBSOLETE_DEPRECATE | ( | _Replacement | ) |
Marks functions as deprecated with a replacement suggestion.
Cross-platform macro that applies the appropriate compiler-specific deprecation annotation. On GCC/Clang, it uses attribute((deprecated)), on MSVC it uses __declspec(deprecated) with a message suggesting the replacement.
| _Replacement | The recommended replacement function name |
| #define QB_VERSION_NUM 0x033705 |
Defines the QB library version number in hexadecimal format.
Format is 0xMMNNRR where MM=major, NN=minor, RR=revision
| #define QB_DEFAULT_MULTICAST_TTL (int) 128 |
Default Time-To-Live value for multicast packets.
Sets the default number of hops a multicast packet can traverse
| #define QB_INET_BUFFER_SIZE 65536 |
Maximum size for internet protocol buffers.
Defines the maximum buffer size for TCP/IP communication (65536 bytes)
| #define QB_MAX_PDU_BUFFER_SIZE static_cast<int>(1 * 1024 * 1024) |
Maximum Protocol Data Unit buffer size.
Limits the size of PDU buffers to avoid large memory allocations when decoding (1MB)
| #define QB_UNPACK_MAX_STRIP 32 |
Maximum number of initial bytes that can be stripped during unpacking.
Limits the number of bytes that can be removed from the beginning of a message during protocol unpacking operations
| #define SD_RECEIVE SHUT_RD |
Socket shutdown flag for disabling receive operations.
Cross-platform macro that maps to platform-specific constants (SHUT_RD on Unix, SD_RECEIVE on Windows)
| #define SD_SEND SHUT_WR |
Socket shutdown flag for disabling send operations.
Cross-platform macro that maps to platform-specific constants (SHUT_WR on Unix, SD_SEND on Windows)
| #define SD_BOTH SHUT_RDWR |
Socket shutdown flag for disabling both send and receive operations.
Cross-platform macro that maps to platform-specific constants (SHUT_RDWR on Unix, SD_BOTH on Windows)
| #define closesocket close |
Cross-platform macro for closing a socket.
Maps to close() on Unix systems, keeps closesocket() on Windows
| #define ioctlsocket ioctl |
Cross-platform macro for socket I/O control.
Maps to ioctl() on Unix systems, keeps ioctlsocket() on Windows
| #define FD_TO_SOCKET | ( | fd | ) |
Converts a file descriptor to a socket handle.
On Unix, returns fd unchanged. On Windows, converts using _get_osfhandle()
| fd | File descriptor to convert |
| #define OPEN_FD_FROM_SOCKET | ( | sock | ) |
Converts a socket handle to a file descriptor.
On Unix, returns sock unchanged. On Windows, converts using _open_osfhandle()
| sock | Socket handle to convert |
| #define SD_NONE -1 |
Special value indicating no socket shutdown operation.
Used to indicate that no shutdown operation should be performed
| #define MAXNS 3 |
Maximum number of nameservers.
Defines the maximum number of DNS nameservers that can be configured
| #define IN_MAX_ADDRSTRLEN INET6_ADDRSTRLEN |
Maximum length of string representation for an IP address.
Set to INET6_ADDRSTRLEN to accommodate IPv6 addresses, which are longer than IPv4
| typedef int socket_type |
Cross-platform socket handle type.
int on Unix systems, SOCKET (unsigned integer) on Windows