当前位置:   article > 正文

live555的核心数据结构值之闭环双向链表

live555的核心数据结构值之闭环双向链表

        live555是采用单进程,单线程的服务器,能够同时支持多个客户端连接,并且有条不紊的进行媒体流的调度,很大一部分原因在于对数据结构的巧妙应用。

        下面介绍live555核心的数据结构:闭环双向链表

什么是闭环双向链表?

描述:

        一个节点保存有前一个节点的地址和后一个节点的地址,并且最后一个节点的下一个节点地址指向第一个节点,第一个节点的前一个节点的地址指向最后一个节点;

        该链表的添加方式为头插法;

该链表有三个类进行管理(HandlerSet.hh文件)

节点的描述类(HandlerDescriptor)

  1. class HandlerDescriptor {
  2. HandlerDescriptor(HandlerDescriptor* nextHandler);
  3. virtual ~HandlerDescriptor();
  4. public:
  5. int socketNum;//套接字文件描述符
  6. int conditionSet;//要响应的状态(可读,可写,异常),回调函数执行的条件
  7. TaskScheduler::BackgroundHandlerProc* handlerProc;//执行函数
  8. void* clientData;//执行函数的参数
  9. private:
  10. // Descriptors are linked together in a doubly-linked list:
  11. friend class HandlerSet;
  12. friend class H
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/765955
推荐阅读
相关标签
  

闽ICP备14008679号