acl
3.5.3.0
|
#include <trigger.hpp>
Public 类型 | |
typedef std::map< long long, trigger_item< T > * > | trigger_items_t |
typedef trigger_items_t::iterator | trigger_iter_t |
Public 成员函数 | |
timer_trigger (void) | |
~timer_trigger (void) | |
void | add (T *o) |
int | del (T *o) |
long long | trigger (void) |
额外继承的成员函数 | |
Protected 成员函数 继承自 acl::acl::noncopyable | |
noncopyable () | |
~noncopyable () | |
定时任务触发管理器,通过本类添加定时任务,该类会将到期的任务进行触发 每个定时任务对象 T 需要实现以下方法,以便于由该触发器触发
bool on_trigger(void); // 定时时间到期时的回调方法,返回值表示 // 是否需要再次触发该定时任务 int get_ttl(void) const; // 定时任务到达时的时间间隔(毫秒) void set_key(long long key); // 触发器设置与该定时任务关联的键 long long get_key(void) const; // 获得由 set_key 设置的键
如一个 T 的实例类声明如下: class mytask { public: mytask(void) {} ~mytask(void) {}
// @override bool on_trigger(void) { return true; }
// @override int get_ttl(void) const { return 1000; }
// @override void set_key(long long key) { key_ = key; }
// @override long long get_key(void) const { return key_; }
private: long long key_; };
在文件 trigger.hpp 第 113 行定义.
typedef std::map<long long, trigger_item<T>*> acl::timer_trigger< T >::trigger_items_t |
在文件 trigger.hpp 第 116 行定义.
typedef trigger_items_t::iterator acl::timer_trigger< T >::trigger_iter_t |
在文件 trigger.hpp 第 117 行定义.
|
inline |
在文件 trigger.hpp 第 119 行定义.
|
inline |
在文件 trigger.hpp 第 120 行定义.
|
inline |
添加一个任务对象 @pararm o {T*}
在文件 trigger.hpp 第 126 行定义.
引用了 acl::trigger_item< T >::add() , 以及 acl::get_curr_stamp().
|
inline |
删除一个任务对象,内部调用 o->get_key() 方法获得该任务对象的键 @pararm o {T*} 指定将被删除的任务对象
在文件 trigger.hpp 第 147 行定义.
|
inline |
触发所有到期的定时任务
在文件 trigger.hpp 第 166 行定义.