美文网首页
WebRTC 源码分析之一:几个核心设计概念

WebRTC 源码分析之一:几个核心设计概念

作者: 海阔天空的博客 | 来源:发表于2021-11-28 00:07 被阅读0次

下面要介绍的是 WebRTC 中最核心的几个概念。

1、OnMessage 消息机制
对象内部发送消息。这是一个普遍性,通用性的设计,例如 MFC、Android 消息机制都是如此。
在对象内把消息 Post 到主线程,并且把当前对象的句柄放在消息体内,线程队列根据消息里对象句柄来回调对应的 OnMessage 函数

2、sigslot 消息机制
对象之间发送消息。
发送者(发布主题者)生命一个信号量,绑定到接受者(观察者)的函数,当发送者调用一次信号量时,直接会回调观察者的函数。

3、消息进阶传递机制(OnMessage 和 sigsolt 结合)
最底层 sigslot 传递消息到中层后,中层使用 Post 消息传递到本层的OnMessage,在 OnMessage 里使用 sigsolt 再往上层传递消息。
即同层之间用 OnMessage 消息传递,下层向上层传递则使用 sigsolt。

4、线程封装原理
线程create传送的参数是一个 ThreadInit 的类指针,这个指针包含了一个正常的本身的线程类指针Thread,同时也包含了一个 Runnable 指针。
Start(Runnable * runnable),runnable 为空时,启用的是 Thread 的 Run,不为空时,启用的是 Runnable 的 Run

class RunTest :  public Runnable 
{
     public:
          virtual void Run(Thread* t){};
     private:
          Thread thread;
}
RunTest::RunTest ()
{
     thread.strart(this);
}

本文摘录于海阔天空的博客,作者: zjg555543,发布时间: 2014-07-09

相关文章

网友评论

      本文标题:WebRTC 源码分析之一:几个核心设计概念

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