void AppFace::sendBead(const Bead& bead) { NS_LOG_FUNCTION(this << &bead); this->emitSignal(onSendBead, bead); // to decouple callbacks Simulator::ScheduleNow(&App::OnBead, m_app, bead.shared_from_this()); }
void Face::putBead(const Bead& bead) { NS_LOG_INFO (">> Bead: " << bead.getName()); shared_ptr<const Bead> beadPtr; try { beadPtr = bead.shared_from_this(); } catch (const bad_weak_ptr& e) { NS_LOG_INFO("Face::put WARNING: the supplied Data should be created using make_shared<Data>()"); beadPtr = make_shared<Bead>(bead); } m_impl->m_scheduler.scheduleEvent(time::seconds(0), [=] { m_impl->asyncPutBead(beadPtr); }); }