您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ASSERT_ON_THREAD函数代码示例

51自学网 2021-06-01 19:37:55
  C++
这篇教程C++ ASSERT_ON_THREAD函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ASSERT_ON_THREAD函数的典型用法代码示例。如果您正苦于以下问题:C++ ASSERT_ON_THREAD函数的具体用法?C++ ASSERT_ON_THREAD怎么用?C++ ASSERT_ON_THREAD使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ASSERT_ON_THREAD函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: MOZ_ASSERT

int TestNrSocket::sendto(const void *msg, size_t len,                         int flags, nr_transport_addr *to) {  MOZ_ASSERT(my_addr_.protocol != IPPROTO_TCP);  ASSERT_ON_THREAD(ststhread_);  if (!nat_->enabled_ || nat_->is_an_internal_tuple(*to)) {    return NrSocket::sendto(msg, len, flags, to);  }  destroy_stale_port_mappings();  if (to->protocol == IPPROTO_UDP && nat_->block_udp_) {    // Silently eat the packet    return 0;  }  // Choose our port mapping based on our most selective criteria  PortMapping *port_mapping = get_port_mapping(*to,                                               std::max(nat_->filtering_type_,                                                        nat_->mapping_type_));  if (!port_mapping) {    // See if we have already made the external socket we need to use.    PortMapping *similar_port_mapping =      get_port_mapping(*to, nat_->mapping_type_);    nsRefPtr<NrSocket> external_socket;    if (similar_port_mapping) {      external_socket = similar_port_mapping->external_socket_;    } else {      external_socket = create_external_socket(*to);      if (!external_socket) {        MOZ_ASSERT(false);        return R_INTERNAL;      }    }    port_mapping = create_port_mapping(*to, external_socket);    port_mappings_.push_back(port_mapping);    if (poll_flags() & PR_POLL_READ) {      // Make sure the new port mapping is ready to receive traffic if the      // TestNrSocket is already waiting.      port_mapping->async_wait(NR_ASYNC_WAIT_READ,                              port_mapping_readable_callback,                              this,                              (char*)__FUNCTION__,                              __LINE__);    }  }  // We probably don't want to propagate the flags, since this is a simulated  // external IP address.  return port_mapping->sendto(msg, len, *to);}
开发者ID:Jar-win,项目名称:Waterfox,代码行数:55,


示例2: ASSERT_ON_THREAD

LocalSourceStreamInfo*PeerConnectionMedia::GetLocalStreamByIndex(int aIndex){  ASSERT_ON_THREAD(mMainThread);  if(aIndex < 0 || aIndex >= (int) mLocalSourceStreams.Length()) {    return nullptr;  }  MOZ_ASSERT(mLocalSourceStreams[aIndex]);  return mLocalSourceStreams[aIndex];}
开发者ID:carriercomm,项目名称:gecko-dev,代码行数:11,


示例3: ASSERT_ON_THREAD

voidPeerConnectionMedia::UpdateSinkIdentity_m(const MediaStreamTrack* aTrack,                                          nsIPrincipal* aPrincipal,                                          const PeerIdentity* aSinkIdentity){  ASSERT_ON_THREAD(mMainThread);  for (RefPtr<TransceiverImpl>& transceiver : mTransceivers) {    transceiver->UpdateSinkIdentity(aTrack, aPrincipal, aSinkIdentity);  }}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:11,


示例4: ASSERT_ON_THREAD

void RemoteSourceStreamInfo::DetachTransport_s(){  ASSERT_ON_THREAD(mParent->GetSTSThread());  // walk through all the MediaPipelines and call the shutdown  // transport functions. Must be on the STS thread.  for (std::map<int, mozilla::RefPtr<mozilla::MediaPipeline> >::iterator it =           mPipelines.begin(); it != mPipelines.end();       ++it) {    it->second->ShutdownTransport_s();  }}
开发者ID:mxOBS,项目名称:deb-pkg_icedove,代码行数:11,


示例5: ASSERT_ON_THREAD

// callback while UDP packet is sentNS_IMETHODIMP NrSocketIpc::CallListenerSent(const nsACString &type,                                            nsresult result) {  ASSERT_ON_THREAD(main_thread_);  MOZ_ASSERT(type.EqualsLiteral("onsent"));  if (NS_FAILED(result)) {    ReentrantMonitorAutoEnter mon(monitor_);    err_ = true;  }  return NS_OK;}
开发者ID:captainbrosset,项目名称:gecko-dev,代码行数:12,


示例6: ASSERT_ON_THREAD

int NrSocketIpc::getaddr(nr_transport_addr *addrp) {  ASSERT_ON_THREAD(sts_thread_);  ReentrantMonitorAutoEnter mon(monitor_);  if (state_ != NR_CONNECTED) {    return R_INTERNAL;  }  return nr_transport_addr_copy(addrp, &my_addr_);}
开发者ID:Andrel322,项目名称:gecko-dev,代码行数:11,


示例7: CSFLogDebug

voidPeerConnectionMedia::SelfDestruct_m(){  CSFLogDebug(LOGTAG, "%s: ", __FUNCTION__);  ASSERT_ON_THREAD(mMainThread);  mMainThread = nullptr;  // Final self-destruct.  this->Release();}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:12,


示例8: int

int NrIceResolver::resolve(nr_resolver_resource *resource,                           int (*cb)(void *cb_arg, nr_transport_addr *addr),                           void *cb_arg,                           void **handle) {  int _status;  MOZ_ASSERT(allocated_resolvers_ > 0);  ASSERT_ON_THREAD(sts_thread_);  RefPtr<PendingResolution> pr;  uint32_t resolve_flags = 0;  OriginAttributes attrs;  if (resource->transport_protocol != IPPROTO_UDP &&      resource->transport_protocol != IPPROTO_TCP) {    MOZ_MTLOG(ML_ERROR, "Only UDP and TCP are supported.");    ABORT(R_NOT_FOUND);  }  pr = new PendingResolution(sts_thread_,                             resource->port? resource->port : 3478,                             resource->transport_protocol ?                             resource->transport_protocol :                             IPPROTO_UDP,                             cb, cb_arg);  switch(resource->address_family) {    case AF_INET:      resolve_flags |= nsIDNSService::RESOLVE_DISABLE_IPV6;      break;    case AF_INET6:      resolve_flags |= nsIDNSService::RESOLVE_DISABLE_IPV4;      break;    default:      ABORT(R_BAD_ARGS);  }  if (NS_FAILED(dns_->AsyncResolveNative(nsAutoCString(resource->domain_name),                                         resolve_flags, pr,                                         sts_thread_, attrs,                                         getter_AddRefs(pr->request_)))) {    MOZ_MTLOG(ML_ERROR, "AsyncResolve failed.");    ABORT(R_NOT_FOUND);  }  // Because the C API offers no "finished" method to release the handle we  // return, we cannot return the request we got from AsyncResolve directly.  //  // Instead, we return an addref'ed reference to PendingResolution itself,  // which in turn holds the request and coordinates between cancel and  // OnLookupComplete to release it only once.  pr.forget(handle);  _status=0;abort:  return _status;}
开发者ID:Wafflespeanut,项目名称:gecko-dev,代码行数:53,


示例9: CSFLogDebug

voidPeerConnectionMedia::SelfDestruct_m(){  CSFLogDebug(logTag, "%s: ", __FUNCTION__);  ASSERT_ON_THREAD(mMainThread);  mLocalSourceStreams.Clear();  mRemoteSourceStreams.Clear();  // Final self-destruct.  this->Release();}
开发者ID:mxOBS,项目名称:deb-pkg_icedove,代码行数:12,



注:本文中的ASSERT_ON_THREAD函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ASSERT_OUTSIDE_BEGIN_END函数代码示例
C++ ASSERT_ON_ERROR函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。