STTNet
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 宏定义 
| 命名空间 | 宏定义 | 类型定义 | 枚举 | 函数
sttnet.h 文件参考
#include <jsoncpp/json/json.h>
#include <string_view>
#include <string>
#include <atomic>
#include <iostream>
#include <unistd.h>
#include <sys/stat.h>
#include <fstream>
#include <fcntl.h>
#include <sstream>
#include <mutex>
#include <chrono>
#include <iomanip>
#include <random>
#include <cmath>
#include <thread>
#include <openssl/sha.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <cstring>
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/buffer.h>
#include <functional>
#include <list>
#include <queue>
#include <sys/epoll.h>
#include <condition_variable>
#include <regex>
#include <unordered_map>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/crypto.h>
#include <signal.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/wait.h>
#include <sys/shm.h>
#include <type_traits>
#include <charconv>
#include <any>
#include <sys/eventfd.h>
#include <sys/timerfd.h>

浏览源代码.

class  stt::file::FileTool
 提供文件操作的静态函数工具类 更多...
 
struct  stt::file::FileThreadLock
 记录文件和线程关系的结构体 更多...
 
class  stt::file::File
 读写磁盘文件的类 更多...
 
struct  stt::time::Duration
 表示时间间隔的结构体,支持天、小时、分钟、秒和毫秒粒度。 更多...
 
class  stt::time::DateTime
 时间操作、运算、计时的类 更多...
 
class  stt::file::LogFile
 日志文件操作类 更多...
 
class  stt::data::CryptoUtil
 负责加密,解密和哈希 更多...
 
class  stt::data::BitUtil
 负责二进制数据,字符串之间的转化 更多...
 
class  stt::data::RandomUtil
 随机数,字符串生成相关 更多...
 
class  stt::data::NetworkOrderUtil
 负责大小端字节序转换 更多...
 
class  stt::data::PrecisionUtil
 负责浮点数精度处理 更多...
 
class  stt::data::HttpStringUtil
 负责Http字符串和URL解析 包括从 URL 或请求报文中提取参数、IP、端口、请求头字段等功能。 更多...
 
class  stt::data::WebsocketStringUtil
 负责websocket协议有关字符串的操作 更多...
 
class  stt::data::NumberStringConvertUtil
 负责字符串和数字的转化 更多...
 
class  stt::data::EncodingUtil
 数据编码解码,掩码处理等 更多...
 
class  stt::data::JsonHelper
 json数据操作类 更多...
 
struct  stt::security::RateState
 单一限流器的运行状态(可复用于多种限流策略)。 更多...
 
struct  stt::security::ConnectionState
 单个连接(fd)的安全与限流状态。 更多...
 
struct  stt::security::IPInformation
 单个 IP 的安全状态与连接集合。 更多...
 
class  stt::security::ConnectionLimiter
 统一的连接与请求安全裁决器(IP 级 + fd 级,多策略限流 + 黑名单)。 更多...
 
class  stt::network::TcpFDHandler
 tcp协议的套接字操作类 更多...
 
class  stt::network::TcpClient
 tcp协议客户端操作类 更多...
 
class  stt::network::HttpClient
 Http/Https客户端操作类 更多...
 
class  stt::network::EpollSingle
 用epoll监听单个句柄 更多...
 
class  stt::network::WebSocketClient
 Websocket客户端操作的类 -如果需要重新设置TLS/Https加密的证书,目前需要销毁对象后重新构造 底层TCP默认是阻塞的 更多...
 
struct  stt::network::HttpRequestInformation
 保存HTTP/HTTPS请求信息的结构体 更多...
 
class  stt::network::HttpServerFDHandler
 解析,响应Http/https请求的操作类 仅传入套接字,然后使用这个类进行Http的操作 更多...
 
struct  stt::network::WebSocketFDInformation
 保存客户端WS/WSS请求信息的结构体 更多...
 
struct  stt::network::TcpInformation
 保存Tcp客户端的信息 更多...
 
struct  stt::network::TcpFDInf
 保存底层基础Tcp通道信息的结构体 更多...
 
struct  stt::network::WorkerMessage
 工作现场完成任务后压入完成队列的数据结构 更多...
 
class  stt::network::TcpServer
 Tcp服务端类 更多...
 
class  stt::network::HttpServer
 Http/HttpServer 服务端操作类 更多...
 
class  stt::network::WebSocketServerFDHandler
 WebSocket协议的操作类 仅传入套接字,然后使用这个类进行WebSocket的操作 更多...
 
class  stt::network::WebSocketServer
 WebSocketServer服务端操作类 更多...
 
class  stt::network::UdpFDHandler
 UDP操作的类 传入套接字进行UDP协议的操作 更多...
 
class  stt::network::UdpClient
 udp客户端的操作类 更多...
 
class  stt::network::UdpServer
 udp服务端的操作类 更多...
 
class  stt::system::ServerSetting
 初始化服务系统的类 更多...
 
class  stt::system::csemp
 封装 System V 信号量的同步工具类。 更多...
 
struct  stt::system::ProcessInf
 进程信息的结构体 更多...
 
class  stt::system::HBSystem
 负责进程心跳监控,调度的类 用于监控服务进程,保证服务进程持续有效运行 进程结束后,0x5095这一块共享内存和信号量都没有删掉 目前只支持最多三个参数的进程加入监控 应该自己手动在程序编写加入心跳监控系统,更新心跳,检查心跳系统的逻辑。该类只提供调用接口。 更多...
 
class  stt::system::Process
 进程管理的静态工具类 更多...
 
class  stt::system::WorkerPool
 固定大小的工作线程池 更多...
 

命名空间

 stt
 
 stt::system
 系统的设置,进程的控制,心跳监控等
 
 stt::file
 文件相关:文件读写,日志等
 
 stt::time
 时间相关操作,基础时间工具
 
 stt::data
 数据处理
 
 stt::security
 涉及信息安全的api
 
 stt::network
 网络框架,协议,通信,io多路复用相关
 

宏定义

#define ISO8086A   "yyyy-mm-ddThh:mi:ss"
 定义ISO8086A这个宏为"yyyy-mm-ddThh:mi:ss" 更多...
 
#define ISO8086B   "yyyy-mm-ddThh:mi:ss.sss"
 定义ISO8086B这个宏为"yyyy-mm-ddThh:mi:ss.sss" 更多...
 
#define MAX_PROCESS_NAME   100
 定义MAX_PROCESS_NAME这个宏为100,意思是进程信息中的进程名字长度不超过100个字节 更多...
 
#define MAX_PROCESS_INF   1000
 定义MAX_PROCESS_INF这个宏为1000,意思是进程信息表记录的进程信息最多为1000条 更多...
 
#define SHARED_MEMORY_KEY   0x5095
 定义SHARED_MEMORY_KEY这个宏为0x5095,意思是进程信息表的共享内存键值为0x5095 更多...
 
#define SHARED_MEMORY_LOCK_KEY   0x5095
 定义SHARED_MEMORY_LOCK_KEY这个宏为0x5095,意思是操作进程信息表的信号量的键值为0x5095 更多...
 

类型定义

using stt::time::Milliseconds = std::chrono::duration< uint64_t, std::milli >
 
using stt::time::Seconds = std::chrono::duration< uint64_t >
 
using stt::system::Task = std::function< void()>
 

枚举

enum  stt::security::RateLimitType { stt::security::RateLimitType::Cooldown, stt::security::RateLimitType::FixedWindow, stt::security::RateLimitType::SlidingWindow, stt::security::RateLimitType::TokenBucket }
 限流算法类型(策略)。 更多...
 
enum  stt::security::DefenseDecision : int { stt::security::ALLOW = 0, stt::security::DROP = 1, stt::security::CLOSE = 2 }
 安全裁决结果(由 ConnectionLimiter 返回)。 更多...
 
enum  stt::network::TLSState : uint8_t { stt::network::TLSState::NONE = 0, stt::network::TLSState::HANDSHAKING, stt::network::TLSState::ESTABLISHED, stt::network::TLSState::ERROR }
 

函数

std::ostream & stt::time::operator<< (std::ostream &os, const Duration &a)
 Duration 对象以可读格式输出到流中。 更多...
 

宏定义说明

#define ISO8086A   "yyyy-mm-ddThh:mi:ss"

定义ISO8086A这个宏为"yyyy-mm-ddThh:mi:ss"

#define ISO8086B   "yyyy-mm-ddThh:mi:ss.sss"

定义ISO8086B这个宏为"yyyy-mm-ddThh:mi:ss.sss"

#define MAX_PROCESS_INF   1000

定义MAX_PROCESS_INF这个宏为1000,意思是进程信息表记录的进程信息最多为1000条

#define MAX_PROCESS_NAME   100

定义MAX_PROCESS_NAME这个宏为100,意思是进程信息中的进程名字长度不超过100个字节

#define SHARED_MEMORY_KEY   0x5095

定义SHARED_MEMORY_KEY这个宏为0x5095,意思是进程信息表的共享内存键值为0x5095

#define SHARED_MEMORY_LOCK_KEY   0x5095

定义SHARED_MEMORY_LOCK_KEY这个宏为0x5095,意思是操作进程信息表的信号量的键值为0x5095