美文网首页
DSS系列:2、CommonUtilitiesLib介绍

DSS系列:2、CommonUtilitiesLib介绍

作者: 捧着漏勺喝汤 | 来源:发表于2020-03-06 11:46 被阅读0次

这个模块含有一个工具箱,包括线程管理,数据结构,网络,和文本解析工具。Darwin流媒体服务器及其相关工具通过这些类对类似或者相同的任务进行抽象,以减少重复代码;这些类的封装简化了较高层次的代码;借助这些类还分离了专用于不同平台的代码。下面是对目录下的各个类的简短描述:

  • OS类。这些类在时间,条件变量,互斥锁,和线程方面提供了专用于不同平台的代码抽象。这些类包括OS,OSCond,OSMutex,OSThread,和OSFileSource;数据结构则包括OSQueue,OSHashTable,OSHeap,和OSRef。
  • 套接口类(Sockets)。这些类为TCP和UDP网络通讯方面提供了专用于不同平台的代码抽象。通常情况下,套接口类是异步的(或者说是非阻塞的),可以发送事件给Task对象。这些类有:EventContext,Socket,UDPSocket,UDPDemuxer,UDPSocketPool,TCPSocket,和TCPListenerSocket。
  • 解析工具。这些类负责解析和格式化文本。包括StringParser,StringFormatter,StrPtrLen,和StringTranslator。
  • Task(任务):这些类实现了服务器的异步事件机制。

各个模块功能

OS:封装时间接口
OSBufferPool:缓存池,通过队列实现
OSCodeFragment:加载动态库
OSCond:事件对象
OSFileSource:文件操作,加入了缓存功能
OSHeap:堆,用数组实现
OSMapEx:EasyDarwin实现,工程未使用
OSMutex:关键代码段
OSMutexRW:读写锁,通过OSMutex和OSCond实现
OSQueue:队列
OSQueueIter:队列指针,可用来遍历
OSQueue_Blocking:队列同步处理
OSHashTable:哈希表
OSThread:线程类,其中线程数据使用TLS来实现。线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。子类实现Entry,为线程的运行代码。

TaskThreadPool:全局线程池
TaskThread:任务线程
Task:任务,执行Signal时,会从TaskThreadPool中取TaskThread来运行

EventContext:事件上下文,主要是关联EventThread,请求网络事件,只有子类Socket
Socket:套接字,实现了套接字的功能,并关联全局唯一EventThread线程(专门处理网络事件)
TCPSocket:TCP套接字,继承Socket,主要实现以TCP方式打开套接字
TCPListenerSocket:TCP服务类,继承TCPSocket和IdleTask。通过GetSessionTask来关联套接字处理任务

QTSSStream:流,只定义了基础的读写相关操作
QTSSDictionary : 继承QTSSStream,作为数据字典提供保存变量,获取变量,修改,删除变量。通过复杂的嵌套来实现。

相关文章

  • DSS系列:2、CommonUtilitiesLib介绍

    这个模块含有一个工具箱,包括线程管理,数据结构,网络,和文本解析工具。Darwin流媒体服务器及其相关工具通过这些...

  • DSS系列:1、简介

    概要 Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务...

  • DSS系列:3、线程分析

    核心服务器通过创建四种类型的线程来完成自己的工作,具体如下: 服务器自己拥有的主线程(Main Thread)。这...

  • aar文件找不到

    aar文件存在module:dss 主module中加入: dss的module中加入

  • 智能合约开发

    Solidity 教程系列1 - 类型介绍 Solidity 教程系列2 - 地址类型介绍 Solidity 教程...

  • ios慧效云项目技术

    1、消息订阅ReactiveCocoa; 2、图表绘制UUChart、Charts; 3、实时视频 大华DSS视频...

  • MP葡聚糖硫酸钠DSS

    DSS肠炎模型 葡聚糖硫酸钠DSS结肠炎模型是目前应用最为广泛的肠炎模型之一,通过给大鼠、小鼠等连续喂食DSS溶液...

  • dss

    ddd

  • DSS

    1.1 DSS的优势:可以处理没有重复的数据。它可以通过smoothing,将邻近的cpg位点作为假设的重复。1....

  • DSS 搭建手机流媒体服务器

    DSS 是跨平台的软件,可以在Linux、Mac OSX 或 Windows 等上面部署。 一、DSS Windo...

网友评论

      本文标题:DSS系列:2、CommonUtilitiesLib介绍

      本文链接:https://www.haomeiwen.com/subject/olkvlhtx.html