随笔分类 -  libevent

摘要:libevent的evhttp不适合多线程,libevhtp重新设计了libevent的http API,采用了和memcached类似的多线程模型。 worker线程的管道读事件的回调函数为htp__run_in_thread_: htp__connection_accept_函数如下: 此时,c 阅读全文
posted @ 2017-06-01 16:40 Sawyer Ford 阅读(4438) 评论(3) 推荐(1)
摘要:直接上图: memcached使用多线程模型,一个master线程,多个worker线程,master和worker通过管道实现通信。 每个worker线程有一个队列,队列元素为CQ_ITEM。 memcached使用libevent实现事件监听,master和worker各有一个event_bas 阅读全文
posted @ 2017-06-01 16:05 Sawyer Ford 阅读(2537) 评论(0) 推荐(1)
摘要:在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件。 查看源码可知,在evhttp_bind_socket中设置了accept的回调函数:accept_socket_cb。 两个重要函数: evhttp_g 阅读全文
posted @ 2017-05-27 16:08 Sawyer Ford 阅读(10607) 评论(0) 推荐(0)
摘要:用libevent构建一个http server非常方便,可参考libevent(六)http server。 主要涉及的一个结构体是evhttp: 值得关注的有两个成员: callbacks,一个链表,存放用户定义的回调函数 connections,一个链表,存放所有连接,每个连接对应一个evht 阅读全文
posted @ 2017-05-22 12:03 Sawyer Ford 阅读(3217) 评论(0) 推荐(0)
摘要:客户端: 服务器: 阅读全文
posted @ 2017-03-28 17:19 Sawyer Ford 阅读(4107) 评论(1) 推荐(0)
摘要:客户端: 服务器: 阅读全文
posted @ 2017-03-28 17:17 Sawyer Ford 阅读(526) 评论(1) 推荐(0)