webrtc的task queue 是可以基于libevent 实现的
至于为啥没有基于libuv,可能因为历史原因。
大神们比如zlkmedia,都是从zlkkit 开始的,其核心就是一个io 引擎。
基于io 引擎,才有了后面的media kit 。
因此,有必要坚持学习io engine的设计及实现。
base\utils\thread\internal\event_engine.cpp
可知,主要包括 tcp udp http timer
及 对libevent的封装
引擎设计: 基类:io_engine_base
- 线程循环:run 或者非阻塞的 run_nonblock
- 主动退出: break_loop
- 定时器: create_timer
- 包相关:
virtual size_t tx_packets() const =