加载中
21_BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调

这个类的重点在于BasicTaskScheduler::SingleStep方法的实现。弄懂了这个,基于事件处理模型也就差不多弄懂了。 这里添加了四个数据成员,是用来select模型的。关于select模型,这里不解释了...

20_BasicTaskScheduler0 基本任务调度类基类(二)——Live555源码阅读(一

scheduleDelayedTask方法有三个参数,分别是时间microseconds,任务proc,数据clientData。 其使用这三个参数创建一个定时处理程序对象AlarmHandler(proc, clientData, timeToDelay),并将这...

19_BasicTaskScheduler0 基本任务调度类基类(一)——Live555源码阅读(一

这个类实现了TaskScheduler中的纯虚接口,并增加了一些数据成员。其中比较重要的两个是fDelayQueue(延时队列)和fHandlers(处理程序集合/链表)。

18 TaskScheduler任务调度器抽象基类——Live555源码阅读(一)任务调度相关类

TaskScheduler声明了很多纯虚接口,其实现一般在class BasicTaskScheduler0中。这里简要介绍一下。 TaskScheduler的默认构造函数是protected权限的,也就是只能被其内部的或派生类的方法调用...

17 任务调度相关类综述——Live555源码阅读(一)任务调度相关类

任务调度是Live555源码中很重要的部分。前面介绍的基本组件类在这里都用到了。 任务调度部分有三个类,其有继承关系。 抽象基类TaskScheduler 派生出 BasicTaskScheduler0,BasicTaskSchedu...

15 BasicHashTable基本哈希表类(二)——Live555源码阅读(一)基本组件类

这里介绍的是一些用来对哈希表进行一些基本的哈希操作的函数。

14 BasicHashTable基本哈希表类(一)——Live555源码阅读(一)基本组件类

这个表的内部嵌套定义了一个TableEntry(表条目)的类,这个类有一个键key,一个值value,以及指向同一个索引下一个条目的指针(此处很有用,为什么要这么设置,后面会说到的)。这里的key是cha...

13 HashTable抽象哈希表类——Live555源码阅读(一)基本组件类

HashTable类内部嵌套定义了一个迭代器类Iterator,这个迭代器类用于循环访问表的成员。

12 哈希表相关类——Live555源码阅读(一)基本组件类

哈希表类是Live555里面用到比较多的一个数据结构,主要用于在各种表(Table)中管理相关的对象。

11 AlarmHandler定时处理类——Live555源码阅读(一)基本组件类

AlarmHandler继承自DelayQueueEntry其是用来作为DelayQueued 的节点的。其和HanlerDescriptor有点像。

10 DelayQueue 延时队列类——Live555源码阅读(一)基本组件类

这个链表的设计和前面不一样。其内部只有一个EventTime fLastSyncTime最后同步时间的数据成员。并不包含一个链表的头结点。但是其本身是DelayQueueEntry的派生类,所以其本身就是一个链表头结...

9 DelayQueueEntry 延时队列节点类——Live555源码阅读(一)基本组件类

DelayQueueEntry类含有四个数据成员,其中fNext和fPrev说明了其是一个链表的节点。fToken是节点的标识,DelayInterval fDeltaTimeRemaining成员是一个代表时间间隔的量,在后面任务调度器调度...

8 延时队列相关类——Live555源码阅读(一)基本组件类

延时队列相关类一共有两个,DelayQueue(延时队列)和DelayQueueEntry(延时队列节点)。后面说到任务调度器(TaskScheduler)的时候会使用到。

7 HandlerSet 处理程序链表类——Live555源码阅读(一)基本组件类

这里使用的Set这个单词,Set是集合的意思,这里实质上是一个双向循环链表。这个类比较重要,这里会详细的介绍。 HandlerSet类只有一个数据成员,就是HandlerDescriptor fHandlers;这是作为链...

6 HandlerDescriptor 处理程序描述类——Live555源码阅读(一)基本组件类

HandlerDescriptor类是一个很重要的类,其保存了处理程序的函数指针和相关的数据的地址。在构建处理任务的时候,会使用到这个类的对象,处理任务的时候也会用到。

5 HandlerIterator处理程序迭代器类——Live555源码阅读(一)基本组件类

HandlerIterator是一个迭代器类,其有两个数据成员,分别是HandlerSet类对象的引用fOurSet,以及一个HandlerDescriptor对象指针fNextPtr。并且HandlerIterator同时是节点和链表的友元类。...

3 EventTime 事件时间类和TimeNow函数——Live555源码阅读(一)基本组件类

这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类。 这里是时间相关类的第三个部分,也是最后一个部分。

2 DelayInterval延时间隔类——Live555源码阅读(一)基本组件类

这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类。 这里是时间相关类的第二个部分。

没有更多内容

加载失败,请刷新页面

返回顶部
顶部