155  
查询码:00000164
libevent 2.1stable API查询网址
作者: 赵硕文 于 2020年04月23日 发布在分类 / 物联网组 / 边缘接入网关 下,并于 2020年04月23日 编辑
libevent

libevent主要API介绍

现在的libevent版本已经到达libevent2了,其增加了多线程的支持,API函数也发生了一些微小的变化。

  • 创建事件集

    struct event_base *event_base_new(void)

  • 创建事件

    struct event event_new(struct event_base * ,evutil_socket_t ,short ,event_callback_fn,void)

    参数一:事件所在的事件集。
    参数二:socket的描述符。
    参数三:事件类型,其中EV_READ表示等待读事件发生,EV_WRITE表示写事件发生,或者它俩的组合,EV_SIGNAL表示需要等待事件的号码,如 果不包含上述的标志,就是超时事件或者手动激活的事件。
    参数四:事件发生时需要调用的回调函数。
    参数五:回调函数的参数值。

  • 添加事件和删除事件

    int event_add(struct event * ev,const struct timeval* timeout)

    参数一:需要添加的事件
    参数二:事件的最大等待事件,如果是NULL的话,就是永久等待

    int event_del(struct event *)
    参数一:需要删除的事件

  • 分配监听事件

    int event_base_dispatch(struct event_base * )

    参数一:需要监视的事件集

  • I/O buffer事件

    struct bufferevent* bufferevent_socket_new
    (struct event_base * base,evutil_socket_t fd,int options)

    参数一:需要添加到的时间集
    参数二:相关的文件描述符
    参数三:0或者是相应的BEV_OPT_*可选标志

    int bufferevent_enable(struct bufferevent * bev,short event)

    参数一:需要启用的bufferevent
    参数二:any combination of EV|READ | EV_WRITE

    int bufferevent_disable(struct bufferevent * bev,short event)

    参数说明:同上

    size_t bufferevent_read(struct bufferevent *bev,void * data,size_t size)

    参数一:读取的buffer_event事件
    参数二:存储数据的指针
    参数三:数据buffer的大小

    返回值:读取数据的字节数

    int bufferevent_write(struct bufferevent *bev,const void * data,size_t size)

    参数一:读取的buffer_event事件
    参数二:存储数据的指针
    参数三:要写入的数据的大小,字节数

更多API地址:http://www.wangafu.net/~nickm/libevent-2.1/doxygen/html/




 推荐知识

 历史版本

修改日期 修改人 备注
2020-04-23 17:04:59[当前版本] 赵硕文 libevent

 附件

附件类型

PNGPNG

知识分享平台 -V 4.8.7 -wcp