FPNN 提供的 API 分成 4 个模块类别:
-
base
base 是基础组件库,提供包含内存、加密、线程、文件系统等各种各样的基础功能。
base 库的 API 请参见 base API Index。
-
proto
proto 是协议数据处理模块库,负责 FPNN 协议数据的封包解包,和编解码处理。
proto 库的 API 请参见 proto API Index。
-
core
core 是 FPNN RPC 框架的核心部分,提供了 TCP & UDP 服务器和客户端模块。
core 库的 API 请参见 core API Index。
-
extends
extends 是 FPNN RPC 的扩展库,提供了对服务发现和集群访问的支持,以及海量 HTTP 并发访问的支持。
extends 和 core 模块,共同组成了 FPNN 微服务框架的核心模块。extends 库的 API 请参见 extends API Index。
类别 | 对象 | 描述 | 头文件 | API 文档 |
---|---|---|---|---|
时间 | 系列函数 | 时间格式化工具 | TimeUtil.h | TimeUtil |
时间 | 系列函数 | 高性能时间函数 | msec.h | msec |
标识 | 系列函数 | uuid 生成函数 | uuid.h | uuid |
JSON | Json | 便捷的 JSON 库 | FPJson.h | FPJson |
字符串处理 | 系列函数 | 转义字符串 | escapeString.h | escapeString |
字符串处理 | 系列函数和对象 | 字符串处理工具集合 | StringUtil.h | StringUtil |
日志 | 系列函数 | 日志接口。日志系统的客户端模块 | FPLog.h | FPLog |
格式化 | 全局函数 | 格式化输出 | FormattedPrint.h | FormattedPrint |
配置 | Setting | 配置信息容器 | Setting.h | Setting |
异常 | FpnnError | FPNN 异常,及错误代码定义 | FpnnError.h | FpnnError |
定时器 | FPTimer | 定时器 | FPTimer.h | FPTimer |
数据容器 | LruHashMap | 最近最少使用的 hash 字典容器 | LruHashMap.h | LruHashMap |
数据容器 | SafeQueue | 线程安全的队列 | SafeQueue.hpp | SafeQueue |
哈希 | 系列函数 | jenkins 哈希算法 | jenkins.h | jenkins |
哈希 | 系列函数 | 字符串哈希 | strhash.h | strhash |
编码 | 系列函数 | base64 编解码 | base64.h | base64 |
编码 | 系列函数 | 二进制内容十六进制文本化 | hex.h | hex |
摘要算法 | 系列函数 | crc 摘要 | crc.h crc64.h | crc |
摘要算法 | 系列函数 | md5 摘要 | md5.h | md5 |
摘要算法 | 系列函数 | sha1 摘要 | sha1.h | sha1 |
摘要算法 | 系列函数 | sha2 摘要 | sha256.h | sha256 |
加密 | 系列函数 | AES 加密算法 | rijndael.h | rijndael |
压缩 | 系列函数 | gzip 压缩解压 | gzpipe.h | gzpipe |
内存 | CachedChainBuffer | 内建内存池和对象池的链式缓存 | CachedChainBuffer.h | CachedChainBuffer |
内存 | ChainBuffer | 链式缓存 | ChainBuffer.h | ChainBuffer |
内存 | IChainBuffer | 链式缓存接口 | IChainBuffer.h | IChainBuffer |
内存 | IMemoryPool | 定长内存池接口 | IMemoryPool.h | IMemoryPool |
内存 | IObjectPool | 对象池接口 | IObjectPool.h | IObjectPool |
内存 | MemoryPool | 线程安全的定长内存池 | MemoryPool.h | MemoryPool |
内存 | ObjectPool | 线程安全的对象池 | ObjectPool.h | ObjectPool |
内存 | UnlockedMemoryPool | 非线程安全的定长内存池 | UnlockedMemoryPool.h | UnlockedMemoryPool |
内存 | UnlockedObjectPool | 非线程安全的对象池 | UnlockedObjectPool.h | UnlockedObjectPool |
资源管理 | 一系列对象 | 离开作用域后,自动释放资源,或执行指定内容 | AutoRelease.h | AutoRelease |
线程池 | ITaskThreadPool | FPNN 标准线程池接口 | ITaskThreadPool.h | ITaskThreadPool |
线程池 | ParamTemplateThreadPool | 参数化模板线程池 | ParamTemplateThreadPool.h | ParamTemplateThreadPool |
线程池 | ParamTemplateThreadPoolArray | 参数化模板线程池阵列 | ParamTemplateThreadPoolArray.h | ParamTemplateThreadPoolArray |
线程池 | ParamThreadPool | 参数化线程池 | ParamThreadPool.h | ParamThreadPool |
线程池 | TaskThreadPool | FPNN 标准线程池 | TaskThreadPool.h | TaskThreadPool |
线程池 | TaskThreadPoolArray | FPNN 标准线程池阵列 | TaskThreadPoolArray.h | TaskThreadPoolArray |
线程 | 系列对象 | Pthread 读写锁的 C++11 封装 | RWLocker.hpp | RWLocker |
文件系统 | 系列函数 | 文件系统相关工具函数 | FileSystemUtil.h | FileSystemUtil |
文件系统 | 系列函数 | 文件读写相关工局函数 | unixfs.h | unixfs |
系统 | CommandLineUtil | 命令行解析工具 | CommandLineUtil.h | CommandLineUtil |
系统 | 全局函数 | 忽略常见的信号中断 | ignoreSignals.h | ignoreSignals |
系统 | 系列函数 | 当前系统状态信息 | MachineStatus.h | MachineStatus |
系统 | ServerInfo | 当前服务器地址信息 | ServerInfo.h | ServerInfo |
网络 | Endian | 大小端处理 | Endian.h | Endian |
网络 | HostLookup | 域名解析 | HostLookup.h | HostLookup |
网络 | 全局函数 | HTTP 访问 | HttpClient.h | HttpClient |
网络 | 全局函数 | HTTP 状态码含义查询 | httpcode.h | httpcode |
网络 | 全局函数 | 网络相关工具函数 | NetworkUtility.h | NetworkUtility |
调试 | 全局函数 | 打印内存数据 | PrintMemory.h | PrintMemory |
分析 | 系列对象 | 耗时分析工具 | TimeAnalyst.h | TimeAnalyst |
对象 | 描述 | 头文件 | API 文档 |
---|---|---|---|
FPMessage | FPNN 请求和应答基类对象 | FPMessage.h | FPMessage |
FPQuest | FPNN 请求对象 | FPMessage.h | FPQuest |
FPAnswer | FPNN 应答对象 | FPMessage.h | FPAnswer |
FPQReader | FPNN 请求读取器 | FPReader.h | FPQReader |
FPAReader | FPNN 应答读取器 | FPReader.h | FPAReader |
FPQWriter | FPNN 请求生成器 | FPWriter.h | FPQWriter |
FPAWriter | FPNN 应答生成器 | FPWriter.h | FPAWriter |
对象 | 描述 | 头文件 | API 文档 |
---|---|---|---|
AnswerCallback | FPNN 异步请求回调对象 | AnswerCallbacks.h | AnswerCallback |
Client | FPNN 客户端基类 | ClientInterface.h | Client |
ClientEngine | FPNN 客户端引擎 | ClientEngine.h | ClientEngine |
ConnectionInfo | FPNN 链接信息对象 | IQuestProcessor.h | ConnectionInfo |
IAsyncAnswer | FPNN 异步应答对象 | IQuestProcessor.h | IAsyncAnswer |
IQuestProcessor | FPNN 事件处理基类 | IQuestProcessor.h | IQuestProcessor |
QuestSender | FPNN 双工请求发送对象 | IQuestProcessor.h | QuestSender |
ServerInterface | FPNN 服务组件标准接口 | ServerInterface.h | ServerInterface |
TCPClient | FPNN TCP 客户端 | TCPClient.h | TCPClient |
TCPEpollServer | FPNN TCP 服务器 | TCPEpollServer.h | TCPEpollServer |
UDPClient | FPNN UDP 客户端 | UDPClient.h | UDPClient |
UDPEpollServer | FPNN UDP 服务器 | UDPEpollServer.h | UDPEpollServer |
IRawDataProcessor | 未包含协议处理模块的原始客户端的数据处理基类 | RawTransmissionCommon.h | IRawDataProcessor |
RawClient | 未包含协议处理模块的原始客户端基类 | RawClientInterface.h | RawClient |
RawTCPClient | 未包含协议处理模块的原始 TCP 客户端 | RawTCPClient.h | RawTCPClient |
RawUDPClient | 未包含协议处理模块的原始 UDP 客户端 | RawUDPClient.h | RawUDPClient |
类别 | 对象 | 描述 | 头文件 | API 文档 |
---|---|---|---|---|
读取器 | DBResultReader | MySQL DBProxy 结果读取器 | DBResultReader.hpp | DBResultReader |
消息旁路 | Bypass | FPNN 请求旁路组件 | Bypass.h | Bypass |
消息旁路 | HttpBypass | FPNN 请求转 HTTP 旁路组件 | HttpBypass.h | HttpBypass |
网络访问 | MultipleURLEngine | 海量URL异步并发访问引擎 | MultipleURLEngine.h | MultipleURLEngine |
服务发现 | FPZKClient | FPZK 服务发现和集群管理客户端 | FPZKClient.h | FPZKClient |
集群访问代理 | TCPProxyCore | TCP 集群访问代理基类 | TCPProxyCore.hpp | TCPProxyCore |
集群访问代理 | TCPFPZKProxyCore | 与 FPZK 服务联动的 TCP 集群访问代理基类 | TCPFPZKProxyCore.hpp | TCPFPZKProxyCore |
集群访问代理 | TCPBroadcastProxy | 固定集群 TCP 广播访问代理 | TCPBroadcastProxy.hpp | TCPBroadcastProxy |
集群访问代理 | TCPCarpProxy | 固定集群 TCP 一致性哈希访问代理 | TCPCarpProxy.hpp | TCPCarpProxy |
集群访问代理 | TCPConsistencyProxy | 固定集群 TCP 一致性访问代理 | TCPConsistencyProxy.hpp | TCPConsistencyProxy |
集群访问代理 | TCPRandomProxy | 固定集群 TCP 随机访问代理 | TCPRandomProxy.hpp | TCPRandomProxy |
集群访问代理 | TCPRotatoryProxy | 固定集群 TCP 轮询访问代理 | TCPRotatoryProxy.hpp | TCPRotatoryProxy |
集群访问代理 | TCPFPZKBroadcastProxy | 与 FPZK 服务联动的 TCP 集群广播访问代理 | TCPFPZKBroadcastProxy.hpp | TCPFPZKBroadcastProxy |
集群访问代理 | TCPFPZKCarpProxy | 与 FPZK 服务联动的 TCP 集群一致性哈希访问代理 | TCPFPZKCarpProxy.hpp | TCPFPZKCarpProxy |
集群访问代理 | TCPFPZKConsistencyProxy | 与 FPZK 服务联动的 TCP 集群一致性访问代理 | TCPFPZKConsistencyProxy.hpp | TCPFPZKConsistencyProxy |
集群访问代理 | TCPFPZKOldestProxy | 与 FPZK 服务联动的 TCP 集群最久注册节点访问代理 | TCPFPZKOldestProxy.hpp | TCPFPZKOldestProxy |
集群访问代理 | TCPFPZKRandomProxy | 与 FPZK 服务联动的 TCP 集群随机访问代理 | TCPFPZKRandomProxy.hpp | TCPFPZKRandomProxy |
集群访问代理 | TCPFPZKRotatoryProxy | 与 FPZK 服务联动的 TCP 集群轮询访问代理 | TCPFPZKRotatoryProxy.hpp | TCPFPZKRotatoryProxy |