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

KCP协议适配器单例,管理多端口 ukcp 实例与端口分配。 More...

#include <nkcp.h>

Public Types

enum  { enets_robot_tid = 100 , enets_robot_tcount = 10 , enets_kcp_tid = 1000 , enets_kcp_tcount = 1000 }
 线程池配置常量。 More...

Public Member Functions

i16_port kcp_port (int32_t atid, int16_t atcount, pbnet::ENUM_KCP aenum)
 为服务端监听器派生稳定的KCP端口,并管理ukcp实例。
std::shared_ptr< ukcpkcp (i16_port auport)
 根据端口获取对应的 ukcp 实例。
std::shared_ptr< ukcpserkcp (pbnet::ENUM_KCP aenum, int16_t atcount)
 获取服务端KCP实例。
i16_port create_kcp ()
 机器人端客户端按需分配临时本地KCP端口。
i16_port create_kcp (pbnet::ENUM_KCP aenum)
 服务端监听器使用由节点ID和ENUM_KCP派生的确定性端口。

Static Public Member Functions

static nkcpinstance ()
 获取 nkcp 单例实例。

Detailed Description

KCP协议适配器单例,管理多端口 ukcp 实例与端口分配。

维护一个端口到 ukcp 实例的映射表,为上层提供统一的KCP传输访问入口。 服务端使用确定性端口分配,客户端使用递增临时端口。

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

线程池配置常量。

Enumerator
enets_robot_tid 

机器人线程起始ID。

enets_robot_tcount 

机器人线程数量。

enets_kcp_tid 

KCP线程起始ID。

enets_kcp_tcount 

KCP线程数量。

Member Function Documentation

◆ create_kcp() [1/2]

i16_port ngl::nkcp::create_kcp ( )

机器人端客户端按需分配临时本地KCP端口。

Returns
分配的临时端口号。

◆ create_kcp() [2/2]

i16_port ngl::nkcp::create_kcp ( pbnet::ENUM_KCP aenum)

服务端监听器使用由节点ID和ENUM_KCP派生的确定性端口。

Parameters
aenumKCP类型枚举。
Returns
派生的确定性端口号。

◆ instance()

nkcp & ngl::nkcp::instance ( )
inlinestatic

获取 nkcp 单例实例。

Returns
nkcp 单例引用。

◆ kcp()

std::shared_ptr< ukcp > ngl::nkcp::kcp ( i16_port auport)

根据端口获取对应的 ukcp 实例。

Parameters
auportUDP端口号。
Returns
对应端口的 ukcp 智能指针,不存在则返回 nullptr。

◆ kcp_port()

i16_port ngl::nkcp::kcp_port ( int32_t atid,
int16_t atcount,
pbnet::ENUM_KCP aenum )

为服务端监听器派生稳定的KCP端口,并管理ukcp实例。

Parameters
atid节点ID。
atcount节点数量。
aenumKCP类型枚举。
Returns
派生的KCP端口号。

◆ serkcp()

std::shared_ptr< ukcp > ngl::nkcp::serkcp ( pbnet::ENUM_KCP aenum,
int16_t atcount )

获取服务端KCP实例。

Parameters
aenumKCP类型枚举。
atcount节点数量。
Returns
服务端 ukcp 智能指针。

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