network_copool
简介
理网络消息用的一个协程池
组件接口
NetworkCo.gs
一个消息队列和处理其消息的协程
函数原型 | 函数作用 |
---|---|
bool is_network_co() | 是NetworkCo的实例 |
void dispatch(mixed msg) | 分发消息到对象的消息队列中,协程入口函数会负责处理这些消息 |
coroutine get_co() | 获取本对象的处理协程 |
NetworkCoPool.gs
协程池对象池,负责携程对象创建,维护
函数原型 | 函数作用 |
---|---|
int get_unused_co_num() | 获取池子中未使用协程对象的数量 |
void set_cache_size(int cache_size) | 设置缓存池子大小 |
object new_co(function entry_func) | 从池子中借用一个协程对象,如果池子为空,则新创建一个 |
void delete_co(object ob) | 向池子归还一个协程对象,如果池子满了,则将对象销毁 |
void fix() | 维护接口,当池子内协程数量超过上限时(异常的并发导致)将销毁多余的协程对象 |
network_copool.gs
函数原型 | 函数作用 |
---|---|
object create_pool(string name, map para) | 创建一个协程池 |