Timer 从计时器中检索基数?

Timer 从计时器中检索基数?,timer,libevent,Timer,Libevent,我正在测试libevent的计时器功能 我使用以下设置计时器,每3秒触发一次计时器: shared_ptr<event_base> base(event_base_new(), std::ptr_fun(event_base_free)); vector<shared_ptr<event> > std_events; ... static const timeval three_sec = { 3, 0 }; event* tev = NULL; tev

我正在测试libevent的计时器功能

我使用以下设置计时器,每3秒触发一次计时器:

shared_ptr<event_base> base(event_base_new(), std::ptr_fun(event_base_free));
vector<shared_ptr<event> > std_events;
...

static const timeval three_sec = { 3, 0 };
event* tev = NULL;

tev = evtimer_new(base.get(), NULL, NULL);
rc = event_assign(tev, base.get(), -1, EV_PERSIST, timeout_cb, tev);

rc = event_add(tev, &three_sec);
shared_ptr<event> ptr(tev, std::ptr_fun(event_free));
std_events.push_back(ptr);

rc = event_base_dispatch(base.get());
我试图避免回调中的
arg
的自定义结构


event\u base\u loopexit
需要
base\u事件
。是否可以从
evutil\u socket\t
事件*获取
base\u事件

事件获取库
将检索库:

event_base* base = event_get_base(timer);
event\u get\u assignment
还将检索
base

event_base* base = NULL;
event_get_assignment(timer, &base, NULL, NULL, NULL, NULL);
event_base* base = NULL;
event_get_assignment(timer, &base, NULL, NULL, NULL, NULL);