跳到主要内容

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)创建一个协程池