libhv
文章平均质量分 61
Wu_Patrick
奔跑在二进制空间里的小菜鸟641969994
展开
-
libhv学习笔记7:IO事件之write事件
今天主要分析下libhv中的IO事件中的写事件的过程。如有理解错误,欢迎批评指正。还是先看接上一篇的源码int main(){ hloop_t* loop = hloop_new(0); // 客户端fd int connFd = ConnectTimeout("127.0.0.1",1234); //io事件 hio_t * hio = hio_get(loop,connFd); //设置read 回调函数 hio_setcb_read原创 2021-05-16 20:16:26 · 851 阅读 · 0 评论 -
libhv学习笔记6:IO事件之read事件
今天主要分析下IO事件中的读事件的过程。如有理解错误,欢迎批评指正。int main(){ hloop_t* loop = hloop_new(0); // 客户端fd int connFd = ConnectTimeout("127.0.0.1",1234); //io事件 hio_t * hio = hio_get(loop,connFd); //设置read 回调函数 hio_setcb_read(hio,on_rev); /原创 2021-05-13 21:13:14 · 884 阅读 · 0 评论 -
libhv学习笔记5:heap.h分析
上一篇分析了libhv里面用到的链表的实现,今天我们看一下定时器超时事件中用到的堆得实现。堆定义1.堆中的某个节点总是不大于或不小于其父亲节点2.堆总是一颗完全二叉树那么,最大堆就是父节点比每一个子节点值都要大。最小堆就是父节点比每一个子节点值要小。例子(最小堆)完全二叉树的定义对于一个树高为h的二叉树,如果其第0层至第h-1层的节点都满。如果最下面一层节点不满,则所有的节点在左边的连续排列,空位都在右边。这样的二叉树就是一棵完全二叉树源码分析结构体的定义struct heap原创 2021-05-02 17:38:59 · 873 阅读 · 4 评论 -
libhv学习笔记4:list.h分析
在libhv中,用到了链表的数据结构(比如说,struct hloop_s中的 struct list_head idles),其定义和实现在list.h中。首先看一下结构体:struct list_head { struct list_head *next, *prev;};#define list_node list_head可以看到,只包含了两个指针,而没有数据域,后面看一下到底是怎么使用的。初始化结构体static inline void list_ini原创 2021-04-28 21:27:40 · 461 阅读 · 0 评论 -
libhv学习笔记3:hloop_process_events分析
hloop_process_events函数在上一篇中已经看过,今天深入看一下这部分代码。如有理解错误,欢迎批评指正。代码总览// hloop_process_ios -> hloop_process_timers -> hloop_process_idles -> hloop_process_pendingsstatic int hloop_process_events(hloop_t* loop) { // ios -> timers -> idles原创 2021-04-26 20:36:51 · 818 阅读 · 0 评论 -
libhv学习笔记2:从hloop_test入手
从本文开始,由sample入手,逐渐理解libhv的源码。如有理解错误,欢迎批评指正。main()函数int main() { // memcheck atexit HV_MEMCHECK; hloop_t* loop = hloop_new(0); // test idle and priority for (int i = HEVENT_LOWEST_PRIORITY; i <= HEVENT_HIGHEST_PRIORITY; ++i) {原创 2021-04-24 21:56:27 · 1926 阅读 · 5 评论 -
libhv学习笔记1:安装及Sample运行
libhv安装及example运行前言下载地址编译example执行修改example,重新编译总结前言libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更简单的接口和更丰富的协议。已经被为awesome-c和awesome-cpp所收录。我希望从example入手,一步一步剖析libhv源码的精髓。算是下载地址地址:https://gitee.com/libhv/libhv.gitgit clone https://gitee.com/libhv/libh原创 2021-04-22 23:38:40 · 1070 阅读 · 0 评论