- 博客(11)
- 资源 (4)
- 收藏
- 关注
转载 Libevent参考手册第八章:连接侦听器: 接受 TCP 连接
Evconnlistener 机制为您提供了侦听和接受传入的 TCP 连接的方法。这一节中的所有函数与类型都是在event2/listener.h中声明。他们首次出现在 Libevent 2.0.2-alpha,除非另有说明。创建或释放 evconnlistener接口struct evconnlistener *evconnlistener_new(struct even
2016-11-30 15:22:46 602
转载 Libevent参考手册第七章:Evbuffers:用于缓冲IO的实用工具
Libevent的evbuffer功能通过实现一个字节队列,在队列末尾添加数据,在队列头移除数据。Evbuffers 是通常用来做缓冲网络 IO 的"缓冲区"部分。他们将不会提供安排 IO 或IO准备就绪时的触发等功能: 而这些功能是bufferevents应该做的。本章中的函数声明都在event2/buffer.h 中,除非另有说明。创建或释放 evbuffer接口struc
2016-11-30 15:22:03 680
转载 libevent参考手册第六章:bufferevent:概念和入门
很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。比如说,写入数据的时候,通常的运行模式是:l 决定要向连接写入一些数据,把数据放入到缓冲区中。l 等待连接可以写入。l 写入尽量多的数据。l 记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入。这种缓冲IO模式很通用,libevent为此提供了一种通用机制,即bufferevent。buffereve
2016-11-30 15:20:58 393
转载 libevent参考手册第五章:辅助类型和函数
定义了很多在实现可移植应用时有用的函数,libevent内部也使用这些类型和函数。1 基本类型1.1 evutil_socket_t在除Windows之外的大多数地方,套接字是个整数,操作系统按照数值次序进行处理。然而,使用Windows套接字API时,socket具有类型SOCKET,它实际上是个类似指针的句柄,收到这个句柄的次序是未定义的。在Windows中,libevent定义e
2016-11-30 15:20:11 236
转载 libevent参考手册第四章:与事件一起工作
libevent的基本操作单元是事件。每个事件代表一组条件的集合,这些条件包括:l 文件描述符已经就绪,可以读取或者写入l 文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发IO)l 超时事件l 发生某信号l 用户触发事件所有事件具有相似的生命周期。调用libevent函数设置事件并且关联到event_base之后,事件进入“已初始化(initialized
2016-11-30 15:19:29 235
转载 Libevent参考手册第三章:与事件循环一起工作
Libevent参考手册第三章:与事件循环一起工作1 运行循环一旦有了一个已经注册了某些事件的event_base(关于如何创建和注册事件请看下一节),就需要让libevent等待事件并且通知事件的发生。接口#define EVLOOP_ONCE 0x01#define EVLOOP_NONBLOCK 0x02 int event_base_loop(s
2016-11-30 15:18:03 259
转载 Libevent源码分析(一):最小堆
Libevent中的timeout事件是使用最小堆来管理维护的.代码位于.看函数命名和代码风格应该是一个C++程序员,函数名都挺好懂的,只是下面这个结构体变量命名比较坑....typedef struct min_heap{ struct event** p; unsigned n, a;//n队列元素的多少,a代表队列空间的大小.} min_heap_t;
2016-11-30 15:03:03 586
转载 获取一个event_base
原文链接:http://www.wangafu.net/~nickm/libevent-book/Ref2_eventbase.html创建一个event_base在你使用任何有意思的Libevent函数之前,你需要分配一个或多个event_base结构.每一个event_base结构含有一组events,并且可以告知你哪一些events是就绪的.如果一个event_base是
2016-11-30 15:02:19 598
转载 创建Libevent库
Setting up the Libevent libraryLibevent有一些被整个进程共享的全局设置.这些设置会影响到整个库.在使用Libevent库的其余部分之前,你应该先对这些设置做些修改.否则的话Libevent可能会以一种前后矛盾的状态终止( If you don’t, Libevent could wind up in an inconsistent state).
2016-11-30 15:01:10 375
转载 【Unix编程】进程间通信(IPC)
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:
2016-11-23 16:29:13 323
转载 C++11 lambda
为什么需要lambda函数匿名函数是许多编程语言都支持的概念,有函数体,没有函数名。1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值。正因为有这样的需求,c++引入了lambda 函数,你可以在你的源码中内联一个lambda函数,这就使得创建快速的,一次性的函数变得简单了。例如,你可以把lambda函数可在参数中传递给std::sort函数#in
2016-11-15 10:23:23 266
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人