|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
服务器会话池管理类。 More...
#include <server_session_pool.h>
Static Public Member Functions | |
| static int32_t | connection_count (i32_serverid aserverid) |
| 计算到指定服务器应建立的连接数。 | |
| static void | add (i32_serverid aserverid, i32_sessionid asession) |
| 添加一条连接到服务器的连接池。 | |
| static void | remove (i32_sessionid asession) |
| 移除断开的连接。 | |
| static i32_sessionid | sessionid (i32_serverid aserverid, i64_actorid aactorid) |
| 按 actor_id hash 选择连接(核心路由)。 | |
| static i32_sessionid | sessionid (i32_serverid aserverid) |
| 兼容旧接口:无 actor_id 时取第一条可用连接。 | |
| static i32_serverid | serverid (i32_sessionid asessionid) |
| 反向查找:会话 → 服务器ID。 | |
| static int32_t | active_count (i32_serverid aserverid) |
| 获取服务器当前活跃连接数。 | |
Static Public Attributes | |
| static constexpr int32_t | connection_multiplier = 2 |
| 连接数倍率常量。 | |
服务器会话池管理类。
管理服务器间的多连接池,通过按Actor ID哈希选择连接来分散IO负载。 主要功能包括:
|
static |
获取服务器当前活跃连接数。
| aserverid | 服务器ID |
|
static |
添加一条连接到服务器的连接池。
| aserverid | 目标服务器ID |
| asession | 网络会话ID |
|
static |
计算到指定服务器应建立的连接数。
| aserverid | 目标服务器ID |
|
static |
移除断开的连接。
| asession | 要移除的会话ID |
|
static |
反向查找:会话 → 服务器ID。
| asessionid | 网络会话ID |
|
static |
兼容旧接口:无 actor_id 时取第一条可用连接。
| aserverid | 目标服务器ID |
|
static |
按 actor_id hash 选择连接(核心路由)。
根据Actor ID的哈希值选择连接,实现IO负载分散。
| aserverid | 目标服务器ID |
| aactorid | Actor ID,用于哈希选择 |
|
staticconstexpr |
连接数倍率常量。
连接数 = 对端服务器的线程数 * connection_multiplier 用于计算到指定服务器应建立的连接数。