==支持的IO复用机制: epoll和kqueue==
- 读事件(
EV_READ
) - 写事件(
EV_WRITE
) - 超时事件(
EV_TIMEOUT
) - 在三种事件类型的基础上, 支持事件驻留在事件集中的永久模式(
EV_PERSIST
)
- 设置事件属性
event_set()
- 设置事件回调函数
event_set_callback()
- 向事件集中添加事件
evsets_add()
- 从事件集中删除事件
evsets_del()
- 分发并处理事件
evsets_dispatch()
- nthreads: 指定网络线程的个数
- nclients: 推荐连接数
- precision: 事件集的时间精度(建议值8ms)
- immediately: 数据是否会立刻推送到网络层,对实时性要求很高的场景, 建议设置为1
- 设置线程上下文:
iolayer_set_iocontext()
- 设置网络层数据改造方法:
iolayer_set_transform()
- type: 网络类型, 支持
TCP
,UDP
和KCP
- host: 绑定的地址
- port: 监听的端口号
- options: 服务器全局参数(当前主要是
KCP
的参数配置) - callback: 新会话创建成功的回调
- context: 上下文参数
- 设置会话的超时时间
iolayer_set_timeout()
- 设置会话的保活时间
iolayer_set_keepalive()
- 设置会话的IO服务逻辑
iolayer_set_service()
- 设置会话的读事件常驻事件集
iolayer_set_persist()
- 设置会话的发送队列长度限制
iolayer_set_sndqlimit()
- 设置会话的最大传输单元(仅限
KCP
有效)iolayer_set_mtu()
- 设置会话的最小重传时间(仅限
KCP
有效)iolayer_set_minrto()
- 设置会话的发送接收窗口(仅限
KCP
有效)iolayer_set_wndsize()
- 停止对外提供接入服务, 不再接受新的连接;
- 停止所有连接的接收服务, 不再回调
ioservice_t::process()