2 DelayInterval延时间隔类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类。
这里是时间相关类的第二个部分。
本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/
DelayInterval延时间隔类#
DelayInterval这个类只是为了在名字上方便使用。我们可以看上面的TimeVal类,其带参构造函数是protected权限的,这里的定义就是暴露了一个构造接口,方便使用。
class DelayInterval: public Timeval { public: DelayInterval(time_base_seconds seconds, time_base_seconds useconds) : Timeval(seconds, useconds) {} };
除此之外DelayInterval类还重载了全局的 “ * ”运算符。注意,这个不是在DelayInterval类内部重载的,这里的第一个参数是short类型。其使用的时候是类似于这样的 result = arg1 * arg2;其中result和arg2是DelayInterval对象。
DelayInterval operator*(short arg1, DelayInterval const& arg2);
其实现如下
DelayInterval operator*(short arg1, const DelayInterval& arg2) { time_base_seconds result_seconds = arg1*arg2.seconds(); time_base_seconds result_useconds = arg1*arg2.useconds(); time_base_seconds carry = result_useconds/MILLION; result_useconds -= carry*MILLION; result_seconds += carry; return DelayInterval(result_seconds, result_useconds); }
分类:
live555源码阅读
标签:
live555
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理