- 博客(7)
- 资源 (1)
- 收藏
- 关注
翻译 Libevent:6辅助函数以及类型
在头文件中定义了许多有用的函数和类型来帮助实现可移植的程序。Libevent在内部使用这些类型和函数。 一:基本类型evutil_socket_t 除了Windows之外的大多数系统,socket就是一个整数,而且操作系统按照数值顺序对它们进行处理。而在Windows socket API中,socket是SOCKET类型,该类型是一个类似于指针的OS句柄,而且得到
2015-01-25 10:37:47 1019
翻译 Libevent:5events相关
Libevents的基本操作单元是event,每一个event代表了一些条件的集合,这些条件包括:文件描述符已经准备好读或写文件描述符正在变为就绪,准备好读或写(仅限于边沿触发)超时事件信号发生用户触发事件 events都有类似的生命周期。一旦调用Libevent函数创建好event,并将其关联到一个event_base之后,他就是“已初始化”状态(i
2015-01-25 10:32:52 824
翻译 Libevent:4event loop
一:运行loop 一旦一些events在event_base注册之后(下一节会讨论如何创建和注册events),就可以使Libevent等待events,并且在events准备好时能够通知你。#define EVLOOP_ONCE 0x01#define EVLOOP_NONBLOCK 0x02#define E
2015-01-19 21:53:49 1918
翻译 Libevent:3创建event_base
在使用Libevent函数之前,需要分配一个或多个event_base结构。每一个event_base都持有一个events的集合,并且可以检测那些events是激活的。 如果设置event_base可以使用锁,那event_base是可以安全的在多线程环境中使用,但是,只能在单个的线程中进行event_base的loop。如果希望在多线程中进行IO轮询,那就需要每个线程都有一
2015-01-18 19:11:29 1932
翻译 Libevent:2设置
Libevent有一些整个进程共享的全局设置。这些设置会影响到整个的库。因此必须在调用Libevent其他函数之前进行设置,否则,LIbevent就会陷入不一致的状态。 一:Libevent中的日志信息 Libevent可以记录内部的error和warning信息,而且如果在编译时设置的话,它还可以记录debug消息。默认情况下,这些信息都会写到stderr中。可以通过
2015-01-08 17:17:32 694
转载 Libevent:1前言
一:libevent概述:libevent是一个用来编写快速、可移植、非阻塞IO程序的库,它的设计目标是:可移植性、高效、可扩展性、便捷。 libevent包含下列组件:evutil:对不同平台下的网络实现的差异进行抽象;event、event_base:libevent的核心。为各种平台特定的、基于事件的非阻塞IO后端提供抽象API,让程序可以知道套接字何时已经准备好读或写,
2015-01-06 16:52:25 528
翻译 Libevent:0异步IO简介
一:异步IO简介 大多数的初级编程者都是从阻塞IO调用开始网络编程的。阻塞(同步)IO调用指的是:调用会一直阻塞,不会返回,直到发生下面两种情况之一。要么操作完成,要么经历相当长的时间,网络协议栈自己放弃。 比如,当在TCP连接上调用connect时,操作系统会发送SYN包到TCP的远端主机。connect会一直阻塞而不返回,直到它接收到了远端主机发来的SYN+ACK包,或者经
2015-01-06 09:15:50 831
柔性数组成员
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人