本列表仅列出常用模块,不是全部组件清单
注:/base 的部分组件不保证后续会继续存在
/base 目录
一级分类 |
二级分类 |
三级分类 |
文件 |
说明 |
系统 |
系统用户 |
系统用户 |
unix_user.h |
系统用户信息、调整。 |
系统 |
系统信息 |
CPU |
cpu.h |
cpu 信息。但推荐直接使用系统API。 |
系统 |
信号 |
信号 |
ignoreSignals.h |
忽略常见信号。 |
系统 |
程序执行 |
命令行参数 |
CommandLineUtil.h |
命令行参数提取。 |
时间 |
时间获取 |
时间获取 |
msec.h |
性能优化的时间获取函数。 |
时间 |
时间获取 |
时间获取 |
TimeUtil.h |
时间信息、格式化相关。 |
时间 |
时间戳 |
时间戳 |
rdtsc.h |
CPU时间戳。 |
时间 |
定时器 |
定时器 |
FPTimer.h |
定时器,定时任务。 |
文本 & 数字 |
Edian |
Edian |
Endian.h |
BOM 识别,Endian 转换 |
文本 & 数字 |
字符串处理 |
字符串处理 |
StringUtil.h |
trim、split、join。 |
文本 & 数字 |
十六进制文本 |
十六进制文本 |
hex.h |
十六进制文本 & 数字转换。 |
文本 & 数字 |
字符集合匹配 |
字符集合匹配 |
StringUtil.h |
class CharsChecker。 |
文本 & 数字 |
字符集合匹配 |
字符集合匹配 |
StringUtil.h |
class CharMarkMap。 |
文件 |
文件读写 |
简化文件读写 |
unixfs.h |
简化文件读写。 |
文件 |
文件操作 |
文件操作 |
FileSystemUtil.h |
文件操作、读写、属性。 |
文件 |
目录操作 |
目录操作 |
FileSystemUtil.h |
目录创建、获取目录内容。 |
配置 |
配置管理 |
配置管理 |
Setting.h |
配置管理。 |
Log |
Log |
FPNN Log |
FPLog.h |
FPNN log 接口。 |
数据格式 |
Json |
Json |
FPJson.h & FPJson.Enhancement.inc.h |
Json 处理。 |
数据处理 |
压缩 |
压缩 |
gzpipe.h |
zip 压缩。 |
Hash |
算法 |
算法 |
HashFunctor.h |
|
Hash |
算法 |
算法 |
hashint.h |
整型哈希。 |
Hash |
算法 |
算法 |
jenkins.h |
jenkins 哈希算法。 |
Hash |
算法 |
算法 |
strhash.h |
字符串哈希、内存哈希。 |
Hash |
容器 |
哈希数组 |
HashArray.h |
哈希数组。 |
Hash |
容器 |
哈希Map |
HashMap.h |
哈希Map。 |
Hash |
容器 |
哈希Set |
HashSet.h |
哈希Set。 |
Hash |
容器 |
LRU 哈希 Map |
LruHashMap.h |
LRU 哈希 Map。 |
数据结构 & 数据容器 |
数据容器 |
哈希数组 |
HashArray.h |
哈希数组。 |
数据结构 & 数据容器 |
数据容器 |
哈希Map |
HashMap.h |
哈希Map。 |
数据结构 & 数据容器 |
数据容器 |
哈希Set |
HashSet.h |
哈希Set。 |
数据结构 & 数据容器 |
数据容器 |
堆 |
heap.h |
c版本堆。 |
数据结构 & 数据容器 |
数据容器 |
LRU 哈希 Map |
LruHashMap.h |
LRU 哈希 Map。 |
数据结构 & 数据容器 |
数据容器 |
队列 |
queue.h |
c版队列。 |
数据结构 & 数据容器 |
数据容器 |
线程安全队列 |
SafeQueue.hpp |
线程安全队列。 |
数据结构 & 数据容器 |
数据容器 |
树 |
tree.h |
c版树结构。 |
内存 & 缓存 |
自动释放 |
自动释放 |
AutoRelease.h |
离开作用域后,自动 delete 或者 free。 |
内存 & 缓存 |
内存池 & 对象池 |
内存池 |
IMemoryPool.h |
内存池接口定义。 |
内存 & 缓存 |
内存池 & 对象池 |
内存池 |
MemoryPool.h |
内存池实现(线程安全,内部带锁)。 |
内存 & 缓存 |
内存池 & 对象池 |
内存池 |
UnlockedMemoryPool.h |
内存池实现(线程不安全,无锁)。 |
内存 & 缓存 |
内存池 & 对象池 |
内存池 |
obstack.h |
对象栈。参见头文件内说明。 |
内存 & 缓存 |
内存池 & 对象池 |
内存池 |
obpool.h |
c版本对象/内存池实现。 |
内存 & 缓存 |
内存池 & 对象池 |
对象池 |
IObjectPool.h |
对象池接口定义。 |
内存 & 缓存 |
内存池 & 对象池 |
对象池 |
ObjectPool.h |
对象池实现(线程安全,内部带锁)。 |
内存 & 缓存 |
内存池 & 对象池 |
对象池 |
UnlockedObjectPool.h |
对象池实现(线程不安全,无锁)。 |
内存 & 缓存 |
内存链(离散缓存) |
内存链(离散缓存) |
IChainBuffer.h |
离散缓存接口定义。支持内存读写、复制、查找、比较、fd句柄读写。 |
内存 & 缓存 |
内存链(离散缓存) |
内存链(离散缓存) |
ChainBuffer.h |
使用 new/delete 的 IChainBuffer 实现。 |
内存 & 缓存 |
内存链(离散缓存) |
内存链(离散缓存) |
CachedChainBuffer.h |
使用内存池的 IChainBuffer 实现。 |
线程 |
锁 |
读写锁 |
RWLocker.hpp |
pthread 读写锁封装。 |
线程 |
线程池 |
线程池 |
ParamTemplateThreadPool.h |
线程池模版。 |
线程 |
线程池 |
线程池 |
ParamThreadPool.h |
线程池。 |
线程 |
线程池 |
线程池 |
TaskThreadPool.h |
任务池。 |
线程 |
线程池 |
线程池组 |
ParamTemplateThreadPoolArray.h |
线程池组模版。 |
线程 |
线程池 |
线程池组 |
TaskThreadPoolArray.h |
任务池组。 |
网络 |
网络操作 |
网络操作 |
net.h |
网络操作。 |
网络 |
辅助工具 |
地址处理 |
NetworkUtility.h |
地址快速转换、endpoint 分解。 |
网络 |
HTTP |
HTTP 代码 |
httpcode.h |
HTTP 代码。 |
网络 |
HTTP |
HTTP 客户端 |
HttpClient.h |
HTTP 客户端。 |
错误 & 异常 |
异常定义 |
异常定义 |
FpnnError.h |
FPNN 异常类型定义。 |
错误 & 异常 |
错误代码 |
错误代码 |
FpnnError.h |
FPNN 错误代码定义。 |
集群 |
一致性哈希 |
一致性哈希 |
carp.h |
c版本一致性哈希模块。 |
集群 |
一致性哈希 |
一致性哈希 |
FunCarpSequence.h |
C++版本一致性哈希模块。 |
加密 & 校验 |
加密 |
AES |
rijndael.h |
AES 加密。 |
加密 & 校验 |
校验 |
CRC |
crc.h |
CRC 校验。 |
加密 & 校验 |
校验 |
CRC |
crc64.h |
CRC 64 校验。 |
加密 & 校验 |
数字签名 |
md5 |
md5.h |
MD5 签名。 |
加密 & 校验 |
数字签名 |
sha |
sha1.h |
sha1 校验。 |
加密 & 校验 |
数字签名 |
sha |
sha256.h |
sha256 校验。 |
性能 |
性能约束 |
频率约束 |
FrequencyLimit.h |
时分秒天的频率限制。 |
性能 |
性能分析 |
耗时分析 |
TimeAnalyst.h |
耗时分析。 |
调试 |
输出 |
输出 |
FormattedPrint.h |
打印表格。 |
调试 |
输出 |
输出 |
PrintMemory.h |
内存十六进制打印。 |
/proto 目录
Module |
Header file |
Introduction |
fpnn::FPQuest |
FPMessage.h |
FPNN 请求包结构 |
fpnn::FPAnswer |
FPMessage.h |
FPNN 应答包结构 |
fpnn::FPQReader |
FPReader.h |
FPNN 请求包读取类 |
fpnn::FPAReader |
FPReader.h |
FPNN 应答包读取类 |
fpnn::FPQWriter |
FPWriter.h |
FPNN 请求包生成器 |
fpnn::FPAWriter |
FPWriter.h |
FPNN 应答包生成器 |
/core 目录
Module |
Introduction |
fpnn::TCPEpollServer |
FPNN 服务器。epoll edge trigger 模式 + multi-threads。建议通过配置文件配置。 |
fpnn::ClientEngine |
FPNN 客户端共享的全局引擎。可独立于FPNN 服务器运行。建议通过配置文件配置。 |
fpnn::TCPClient |
FPNN 客户端。该客户端为大量客户端并发链接进行优化。普通情况下,性能略低于良好实现的双线程客户端。 |
fpnn::IQuestProcessor |
FPNN 事件处理基类。适用于 FPNN 服务器,FPNN 客户端,extends 库中的 FPNN 集群代理。 |
/extends 目录
大类 |
二级分类 |
文件 |
模块 |
说明 |
读取器 |
MySQL DBProxy 结果读取器 |
DBResultReader.h |
DBResultReader |
仅适用于读取 MySQL DBProxy 的返回结果。支持随机读取。 |
集群管理 |
集群服务发现客户端 |
FPZKCLient.h |
fpnn::FPZKClient |
用于服务发现,提交自身信息等集群管理用途。适用于 FPZK 集群发现服务。 |
集群管理 |
固定IP,无发现服务集群代理 |
TCPCarpProxy.h |
fpnn::TCPCarpProxy |
一致性哈希代理。 |
集群管理 |
固定IP,无发现服务集群代理 |
TCPConsistencyProxy.h |
fpnn::TCPConsistencyProxy |
强一致性代理。全局强一致性。 |
集群管理 |
固定IP,无发现服务集群代理 |
TCPRandomProxy.h |
fpnn::TCPRandomProxy |
随机代理。 |
集群管理 |
固定IP,无发现服务集群代理 |
TCPRotatoryProxy.h |
fpnn::TCPRotatoryProxy |
循环代理。 |
集群管理 |
FPZK集群发现服务集群代理 |
TCPFPZKCarpProxy.h |
fpnn::TCPFPZKCarpProxy |
一致性哈希代理。 |
集群管理 |
FPZK集群发现服务集群代理 |
TCPFPZKConsistencyProxy.h |
fpnn::TCPFPZKConsistencyProxy |
强一致性代理。全局强一致性。 |
集群管理 |
FPZK集群发现服务集群代理 |
TCPFPZKRandomProxy.h |
fpnn::TCPFPZKRandomProxy |
随机代理。 |
集群管理 |
FPZK集群发现服务集群代理 |
TCPFPZKRotatoryProxy.h |
fpnn::TCPFPZKRotatoryProxy |
循环代理。 |
网络访问 |
海量URL异步并发访问引擎 |
MultipleURLEngine.h |
MultipleURLEngine |
支持 HTTP、HTTPS。理论支持 FTP等 curl 支持的协议。 |
消息旁路 |
请求旁路 |
Bypass.h |
fpnn::Bypass |
FPNN 协议旁路 |
消息旁路 |
请求旁路 |
HttpBypass.h |
fpnn::HttpBypass |
FPNN 转 HTTP 旁路 |