libevent – an event notification library

The libevent API (libevent应用程序)provides a mechanism(机制) to execute(执行) a callback function(回调函数) when a specific(特别的) event occurs on(发生在) a file descriptor(文件描述符) or after a timeout has been reached.(时间超时之后)

Furthermore(此外), libevent also support callbacks due to(对于) signals(信号) or regular timeouts.(规律性的超时)

libevent is meant to (是为了)replace the event loop (时间循环)found in(分布在) event driven network servers(事件驱动网络服务器). An application just needs to call event_dispatch()and then(然后) add or remove events dynamically (动态地)without having to (而不需要)change the event loop.

Currently, libevent supports /dev/pollkqueue(2)event portsPOSIX select(2)Windows select()poll(2), and epoll(4). The internal event mechanism(内部的事件机制) is completely independent of the exposed(暴露的) event API, and a simple update of libevent can provide new functionality(功能) without having to redesign(重新设计) the applications. As a result, Libevent allows for(允许) portable application(绿色软件) development and provides the most scalable(可扩展的) event notification mechanism available on an operating system. Libevent can also be used for被用于 multi-threaded多线程 applications, either(也) by(通过) isolating(隔离) each event_base(事件库) so that(以便于) only a single thread accesses(访问) it, or by locked(锁定) access to a single shared event_base.Libevent should compile(编译) on Linux, *BSD, Mac OS X, Solaris, Windows, and more.

Libevent additionally(附带的地;此外) provides a sophisticated(复杂的) framework(框架) for buffered(缓冲的) network IO, with support for sockets(套接口), filters(过滤器), rate-limiting(限速), SSL(安全套接层), zero-copy file transmission(零拷贝文件传输), and IOCP输入输出应用程序. Libevent includes support for several useful protocols(协议), including DNS, HTTP, and a minimal(最低地) RPC(远程过程调用) framework(框架).

More information about event notification mechanisms for network servers can be found on(基于) Dan Kegel's "The C10K problem" web page.

mailing list for libevent (libevent邮件列表)is now available. Libevent is maintained(维持) by Nick Mathewson and Niels Provos.

看libevent所遇到的英语生词的更多相关文章

  1. [置顶] think in java interview番外篇-谈程序员如何修练英语

    一.程序员对英语能力的重视度和能力要求应该是在各行各业中排在比较靠前的 这样说吧,英语程度的好坏直接影响着一个程序员的编程.开发.创新能力. 道理很简单: 1. 计算机和软件是用英语创造出来的 2. ...

  2. libevent源码深度剖析

    原文地址: http://blog.csdn.net/sparkliang/article/details/4957667 第一章 1,前言 Libevent是一个轻量级的开源高性能网络库,使用者众多 ...

  3. 项目中libevent几个问题

    几个问题: .libevent到底用的是select还是iocp,然后是如何突破64限制的 typedef struct fd_set { u_int fd_count; /* how many ar ...

  4. HDU-1020-Encoding(水题,但题目意思容易搞错,英语的问题)

    题目链接 http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1000&ojid=0&cid=7996&h ...

  5. Libevent教程001: 简介与配置

    本文内容大致翻译自 libevent-book, 但不是照本翻译. 成文时, libevent最新的稳定版为 2.1.8 stable. 即本文如无特殊说明, 所有描述均以 2.1.8 stable ...

  6. libevent(了解)

    1 前言 Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少.写这一系列文章的用意在于,一则分享心得:二则对libevent代码和设计思想做系统的.更深层次的分析, ...

  7. 【学习】JennyHui学英语 - 生词积累

    (主要是来自于普特英语) 平常积累 20140820 20140826 VOA慢速英语生词积累 2014-10-08 2014-10-11 2014-10-13 2014-10-14 2014-10- ...

  8. libevent源码深度剖析二

    libevent源码深度剖析二 ——Reactor模式 张亮 前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个 ...

  9. libevent到底是同步还是异步,是阻塞还是非阻塞

    应该从不同角度看libevent的同步/异步.阻塞/非阻塞: IO数量的角度:select出来之前,会阻塞在一个io上,处理完成后再阻塞在下一个io上:之后就是把所有的io fd拿过来,都不阻塞,一个 ...

随机推荐

  1. Echart自定义属性3

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. “全栈2019”Java第一百一十章:局部内部类与匿名内部类区别详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. ava Maven项目之Nexus私服搭建和版本管理应用

    目录: Nexus介绍 环境.软件准备 Nexus服务搭建 Java Maven项目版本管理应用 FAQ 1.Nexus介绍 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维 ...

  4. web渗透-sqli-labs-master 下载与安装

    注意事项,写在前面. php版本一定要设置成 7 以下,7之后的mysql_都改成了mysqli_**了,用7以上版本的话会报错 *********************************** ...

  5. AI 的下一个重大挑战:理解语言的细微差别

    简评:人类语言非常博大精妙,同一句话在不同的语境下,就有不同的含义.连人类有时候都不能辨别其中细微的差别,机器能吗?这就是人工智能的下一个巨大挑战:理解语言的细微差别.本文原作者是 Salesforc ...

  6. centos启动错误:Inodes that were part of a corrupted orphan linked list found.

    centos启动时,提示错误: /dev/mapper/VolGroup-lv_root contains a file system with errors,check forced. /dev/m ...

  7. 03-树3 Tree Traversals Again (25 分)

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...

  8. 开源:我的Android新闻客户端,速度快、体积小、支持离线阅读、操作简便、内容展现形式丰富多样、信息量大、功能全面 等(要代码的留下邮箱)

    分享:我的Android新闻客户端,速度快.体积小.支持离线阅读.操作简便.内容展现形式丰富多样.信息量大.功能全面 等(要代码的留下邮箱) 历时30天我为了开发这个新闻客户端APP,以下简称觅闻 h ...

  9. 在MVC程序中使用MongoDB数据库

    .net项目中混搭数据库 安装和部署 C#中使用MongoDB MongoDb与关系型数据库区别 开机自启动 关系型数据库和非关系型数据口可以混搭 MongoDB是一个高性能,开源,无模式的,基于分布 ...

  10. (转载)IDEA新建项目时,没有Spring Initializr选项

    最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手spring boot,很多都是说 创建一个新项目(Create New Project) 选 ...