inner_pre.h
struct event;
namespace evpp {
int EventAdd(struct event* ev, const struct timeval* timeout);
int EventDel(struct event*);
EVPP_EXPORT int GetActiveEventCount();
}
可以看到在evpp的命名空间内声明了三个函数,这三个函数将会是后面程序调用的基础函数。
- EventAdd 传递第一个参数为event结构体的指针, 第二个参数是一个const timeval 的指针。
- EventDel 传递event结构体的指针
- GetActiveEventCount 无参数传递
inner_pre.cc
#ifdef H_DEBUG_MOD
不看这两个 宏定义下的内容也不看和windows 相关宏定义下的内容。
这个cc文件包含的头文件有
#include "evpp/libevent.h" //libevent 相关头文件的包括文件
int EventAdd(struct event* ev, const struct timeval* timeout) {
return event_add(ev, timeout);
}
在阅读源代码的时候会看到一堆在宏定义 H_DEBUG_MOD
下的代码,在此被删除了, 可以看到核心的就是使用了libevent
库的 event_add
这个函数,将参数对应传进去即可。
int EventDel(struct event* ev) {
return event_del(ev);
}
在EventDel
函数中,就直接调用了libevent
的event_del
函数用来删除对应 struct event
的指针。
int GetActiveEventCount() {
return 0;
}
在GetActiveEventCount
函数中就直接返回了0,没有地用libevent
任何相关函数。
总结: 可以看出在inner_pre.h
和 inner_pre.cc
中主要完成的工作是 增加事件和删除事件。