39 using namespace dtn::data;
48 static const std::string
TAG;
59 virtual const std::string getName()
const;
66 void raiseEvent(
const Event *evt)
throw ();
69 void sendAnnoucement(
const uint16_t &sn, std::list<dtn::net::DiscoveryServiceProvider*> &provider);
70 virtual void componentRun() throw ();
71 virtual
void componentUp() throw ();
72 virtual
void componentDown() throw ();
73 void __cancellation() throw ();
76 void leave_interface(const ibrcommon::vinterface &iface) throw ();
77 void join_interface(const ibrcommon::vinterface &iface) throw ();
78 void send(const
DiscoveryAnnouncement &a, const ibrcommon::vinterface &iface, const ibrcommon::vaddress &addr);
80 void listen(const ibrcommon::vinterface &iface) throw ();
81 void unlisten(const ibrcommon::vinterface &iface) throw ();
84 ibrcommon::vsocket _recv_socket;
85 ibrcommon::vsocket _send_socket;
86 bool _send_socket_state;
88 std::set<ibrcommon::vaddress> _destinations;
90 ibrcommon::Mutex _interface_lock;
91 std::set<ibrcommon::vinterface> _interfaces;