ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::sysconfig Struct Reference

系统配置管理器 More...

#include <sysconfig.h>

Static Public Member Functions

static void init ()
 初始化配置
static int32_t logline ()
 获取日志写入文件的行数
static int32_t logflushtime ()
 获取日志刷新间隔
static int32_t logwritelevel ()
 获取日志写入级别
static int32_t logconsolelevel ()
 获取日志控制台显示级别
static int32_t consumings ()
 获取Actor消息耗时检查配置
static std::string & xorkey ()
 获取XOR加密密钥
static int32_t xorkeynum ()
 获取XOR密钥长度掩码
static bool isxor ()
 检查是否启用XOR加密
static bool varint ()
 检查是否启用varint编码
static bool robot_test ()
 检查是否启用机器人测试
static int32_t kcpping ()
 获取KCP发送ping间隔
static int32_t kcppinginterval ()
 获取KCP检查ping间隔
static std::string & kcpsession ()
 获取KCP会话标识
static int32_t sessionwait ()
 获取网关移除会话等待时间
static int32_t open_servertime ()
 获取服务器启动时间
static int32_t head_version ()
 获取协议头版本号
static int32_t rate_interval ()
 获取速率检测间隔
static int32_t rate_count ()
 获取速率限制
static int32_t heart_beat_interval ()
 获取心跳间隔
static int32_t net_timeout ()
 获取网络超时时间
static std::string & gmurl ()
 获取GM管理URL
static std::string & lua ()
 获取Lua脚本目录路径
static int32_t node_count (const char *anodename)
 按名称获取节点数量
static int32_t node_count (NODE_TYPE atype)
 按类型获取节点数量
static void init_gatewayids (int atcout)
 初始化网关ID集合
static std::set< i32_serverid > & gatewayids ()
 获取网关ID集合

Detailed Description

系统配置管理器

基于XML的运行时配置访问器,用于服务器启动和网络配置阶段。 管理服务器的各种配置参数,包括:

Member Function Documentation

◆ consumings()

int32_t ngl::sysconfig::consumings ( )
inlinestatic

获取Actor消息耗时检查配置

Returns
耗时检查配置值

◆ gatewayids()

std::set< i32_serverid > & ngl::sysconfig::gatewayids ( )
static

获取网关ID集合

获取所有网关节点ID集合

Returns
网关ID集合引用
网关节点ID的只读引用

◆ gmurl()

std::string & ngl::sysconfig::gmurl ( )
inlinestatic

获取GM管理URL

Returns
URL字符串引用

◆ head_version()

int32_t ngl::sysconfig::head_version ( )
inlinestatic

获取协议头版本号

Returns
版本号

◆ heart_beat_interval()

int32_t ngl::sysconfig::heart_beat_interval ( )
inlinestatic

获取心跳间隔

Returns
间隔(秒)

◆ init()

void ngl::sysconfig::init ( )
static

初始化配置

从XML配置初始化所有系统参数

从XML文件加载所有配置参数。

读取日志、加密、KCP、速率限制、超时等配置, 并解析节点数量配置和初始化网关ID集合。

◆ init_gatewayids()

void ngl::sysconfig::init_gatewayids ( int atcout)
static

初始化网关ID集合

初始化网关节点ID集合

Parameters
atcout网关数量

根据合并区域和节点数量生成所有网关节点的唯一ID。

Parameters
atcout每个服务器表ID对应的网关实例数

◆ isxor()

bool ngl::sysconfig::isxor ( )
inlinestatic

检查是否启用XOR加密

Returns
启用返回true

◆ kcpping()

int32_t ngl::sysconfig::kcpping ( )
inlinestatic

获取KCP发送ping间隔

Returns
间隔(毫秒)

◆ kcppinginterval()

int32_t ngl::sysconfig::kcppinginterval ( )
inlinestatic

获取KCP检查ping间隔

Returns
间隔(毫秒)

◆ kcpsession()

std::string & ngl::sysconfig::kcpsession ( )
inlinestatic

获取KCP会话标识

Returns
会话标识字符串引用

◆ logconsolelevel()

int32_t ngl::sysconfig::logconsolelevel ( )
inlinestatic

获取日志控制台显示级别

Returns
日志级别

◆ logflushtime()

int32_t ngl::sysconfig::logflushtime ( )
inlinestatic

获取日志刷新间隔

Returns
日志写入文件的间隔(毫秒)

◆ logline()

int32_t ngl::sysconfig::logline ( )
inlinestatic

获取日志写入文件的行数

Returns
单个日志文件的行数

◆ logwritelevel()

int32_t ngl::sysconfig::logwritelevel ( )
inlinestatic

获取日志写入级别

Returns
日志级别

◆ lua()

std::string & ngl::sysconfig::lua ( )
inlinestatic

获取Lua脚本目录路径

Returns
路径字符串引用

◆ net_timeout()

int32_t ngl::sysconfig::net_timeout ( )
inlinestatic

获取网络超时时间

Returns
超时时间

◆ node_count() [1/2]

int32_t ngl::sysconfig::node_count ( const char * anodename)
static

按名称获取节点数量

按节点名称获取节点数量

Parameters
anodename节点名称
Returns
节点数量
Parameters
anodename节点类型名称(如"gateway")
Returns
节点数量,未配置时默认返回1

◆ node_count() [2/2]

int32_t ngl::sysconfig::node_count ( NODE_TYPE atype)
static

按类型获取节点数量

按节点类型枚举获取节点数量

Parameters
atype节点类型
Returns
节点数量
Parameters
atype节点类型枚举
Returns
节点数量,未配置时默认返回1

◆ open_servertime()

int32_t ngl::sysconfig::open_servertime ( )
inlinestatic

获取服务器启动时间

Returns
启动时间

◆ rate_count()

int32_t ngl::sysconfig::rate_count ( )
inlinestatic

获取速率限制

Returns
每秒消息数

◆ rate_interval()

int32_t ngl::sysconfig::rate_interval ( )
inlinestatic

获取速率检测间隔

Returns
间隔(秒)

◆ robot_test()

bool ngl::sysconfig::robot_test ( )
inlinestatic

检查是否启用机器人测试

Returns
启用返回true

◆ sessionwait()

int32_t ngl::sysconfig::sessionwait ( )
inlinestatic

获取网关移除会话等待时间

Returns
等待时间(毫秒)

◆ varint()

bool ngl::sysconfig::varint ( )
inlinestatic

检查是否启用varint编码

Returns
启用返回true

◆ xorkey()

std::string & ngl::sysconfig::xorkey ( )
inlinestatic

获取XOR加密密钥

Returns
XOR密钥字符串引用

◆ xorkeynum()

int32_t ngl::sysconfig::xorkeynum ( )
inlinestatic

获取XOR密钥长度掩码

Returns
2^n-1,n是xorkey的字符数

The documentation for this struct was generated from the following files: