• php libevent扩展


    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;

    源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,

    定时器和信号等事件;注册事件优先级。

      在php 的libevent扩展函数:

      event_base_free()     释放资源,这不能销毁绑定事件
      event_base_loop()     处理事件,根据指定的base来处理事件循环
      event_base_loopbreak()     立即取消事件循环,行为和break语句相同
      event_base_loopexit()     在指定的时间后退出循环
      event_base_new()     创建并且初始事件
      event_base_priority_init()     设定事件的优先级
           event_base_reinit()              Reinitialize the event base after a fork
           event_base_set()     关联事件到事件base
      event_buffer_base_set()     关联缓存的事件到event_base
      event_buffer_disable()     禁用一个缓存的事件
      event_buffer_enable()     启用一个指定的缓存的事件
      event_buffer_fd_set()     改变一个缓存的文件系统描述
      event_buffer_free()     释放缓存事件
      event_buffer_new()     建立一个新的缓存事件
      event_buffer_priority_set()     缓存事件的优先级设定
      event_buffer_read()     读取缓存事件中的数据
      event_buffer_set_callback()     给缓存的事件设置或重置回调hansh函数
      event_buffer_timeout_set()     给一个缓存的事件设定超时的读写时间
      event_buffer_watermark_set     设置读写事件的水印标记
      event_buffer_write()     向缓存事件中写入数据
      event_add()     向指定的设置中添加一个执行事件
      event_del()     从设置的事件中移除事件
      event_free()     清空事件句柄
      event_new()     创建一个新的事件
      event_set()     准备想要在event_add中添加事件
           event_priority_set()      Assign a priority to an event
           event_timer_add()        别名 event_add
           event_timer_del()         别名 event_del
           event_timer_new()       别名 event_new
           event_timer_set()         Prepare a timer event

        event_set一些参数的解释:

      (a) EV_TIMEOUT: 超时
        (b) EV_READ: 只要网络缓冲中还有数据,回调函数就会被触发
        (c) EV_WRITE: 只要塞给网络缓冲的数据被写完,回调函数就会被触发
        (d) EV_SIGNAL: POSIX信号量
        (e) EV_PERSIST: 不指定这个属性的话,回调函数被触发后事件会被删除
        (f) EV_ET: Edge-Trigger边缘触发

  • 相关阅读:
    VS2015调试ArcMap Add-in插件提示尝试运行项目时出错,无法启动程序“路径arcmap.exe”
    c#重命名文件,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”
    C# string contains 不区分大小写
    CSS div 高度满屏
    ArcGIS Server SOE开发之奇怪异常:
    C# 读取XML注释
    .Net程序员之不学Java做安卓开发:奇怪的Java语法
    .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
    JS去遍历Table的所有单元格中的内容
    判断 checkbox 是否选中以及 设置checkbox选中
  • 原文地址:https://www.cnblogs.com/setevn/p/7833750.html
Copyright © 2020-2023  润新知