void dispatchChannel( base::ChannelElementBase::shared_ptr chan ) { bool has_element = false; RClist.apply(boost::bind(&CorbaDispatcher::hasElement, _1, chan, boost::ref(has_element))); if (!has_element) RClist.append( chan ); this->trigger(); }
void loop() { while ( !RClist.empty() && !do_exit) { base::ChannelElementBase::shared_ptr chan = RClist.front(); CRemoteChannelElement_i* rbase = dynamic_cast<CRemoteChannelElement_i*>(chan.get()); if (rbase) rbase->transferSamples(); RClist.erase( chan ); } }
void cancelChannel( base::ChannelElementBase::shared_ptr chan ) { RClist.erase( chan ); }
void dispatchChannel( base::ChannelElementBase::shared_ptr chan ) { RClist.append( chan ); this->trigger(); }