// Keep thread safe // Add the message to the end of the queue // Signal for the multiplexer to return { CritScope cs(&crit_); Message msg; msg.posted_from = posted_from; msg.phandler = phandler; msg.message_id = id; msg.pdata = pdata; if (time_sensitive) { msg.ts_sensitiv...
signaling_thread_(MaybeWrapThread(dependencies->signaling_thread, wraps_current_thread_)) { } 通过MabeStartThread函数初始化了工作者、网络线程,信令线程比较特殊一点,是由于信令线程可以直接托管进程中的主线程(准确来说应该是当前调用线程),所以调用的函数是MaybeWrapThread MaybeStartThread file://src/http://...
2)signal 线程; 3)network 线程。 调用PeerConnection 的API的调用会由 signal 线程进入到 worker 线程。 worker 线程内完成媒体数据的处理,network 线程处理网络相关的事务,channel.h 文件中有说明,以 _w 结尾的方法为 worker 线程的方法,signal 线程的到 worker 线程的调用是同步操作。 如下面代码中的 InvokerOn...
session->SignalPortReady.connect(this, &P2PTransportChannel::OnPortReady); session->SignalPortsPruned.connect(this, &P2PTransportChannel::OnPortsPruned); session->SignalCandidatesReady.connect(this, &P2PTransportChannel::OnCandidatesReady); session->SignalCandidateError.connect(this, &P2PTransportChannel::...
factory_->worker_thread()->Invoke<void>( RTC_FROM_HERE, rtc::Bind(&PeerConnection::CreateCall_w, this)); session_.reset(new WebRtcSession( call_.get(), factory_->channel_manager(), configuration.media_config, event_log_.get(),
接下来receiver调用signal_connect将信号放入信号槽中,以便于信号槽析构的时候能够将该信号删除 highlighter- C++ template<classmt_policy,typename...Args>classsignal_with_thread_policy:public_signal_base<mt_policy> {voidconnect(desttype* pclass,void(desttype::*pmemfun)(Args...)){lock_block<mt_policy...
signal.h socket.h source.h spi_if.h stat.h statfs.h statvfs.h stdarg.h stdio.h stdlib.h string.h strings.h style.h surface_buffer.h surface_type.h surface.h sys_info.h sys/time.h task.h text_adapter.h text.h theme_manager.h theme.h time.h...
sigslot.h Copy template <class mt_policy, typename... Args> class signal_with_thread_policy : public _signal_base<mt_policy> { // other definitions... void emit(Args... args) { lock_block<mt_policy> lock(this); // method body... } // other definitions... }; 熟悉C++ 的读者一...
signal.h socket.h source.h spi_if.h stat.h statfs.h statvfs.h stdarg.h stdio.h stdlib.h string.h strings.h style.h surface_buffer.h surface_type.h surface.h sys_info.h sys/time.h task.h text_adapter.h text.h theme_manager.h theme.h time.h...
// The .h file says that observer can be discarded after close() returns. // Make sure this is true. observer_ = nullptr; // Signal shutdown to the sdp handler. This invalidates weak pointers for // internal pending callbacks.