22 #ifndef TCPCONVERGENCELAYER_H_
23 #define TCPCONVERGENCELAYER_H_
35 #include <ibrcommon/link/LinkManager.h>
36 #include <ibrcommon/net/vsocket.h>
37 #include <ibrcommon/net/vinterface.h>
38 #include <ibrcommon/thread/Mutex.h>
56 const static std::string
TAG;
75 void add(
const ibrcommon::vinterface &net,
int port)
throw ();
93 virtual const std::string
getName()
const;
128 void listen(const ibrcommon::vinterface &iface,
int port) throw ();
133 void unlisten(const ibrcommon::vinterface &iface) throw ();
156 void addTrafficIn(
size_t) throw ();
161 void addTrafficOut(
size_t) throw ();
163 static const
int DEFAULT_PORT;
165 ibrcommon::vsocket _vsocket;
168 ibrcommon::Conditional _connections_cond;
171 ibrcommon::Mutex _interface_lock;
172 std::set<ibrcommon::vinterface> _interfaces;
174 ibrcommon::Mutex _portmap_lock;
175 std::map<ibrcommon::vinterface,
unsigned int> _portmap;
176 unsigned int _any_port;
179 ibrcommon::Mutex _stats_lock;
183 const
size_t _keepalive_timeout;
virtual void resetStats()
dtn::core::Node::Protocol getDiscoveryProtocol() const
void open(const dtn::core::Node &n)
void onUpdateBeacon(const ibrcommon::vinterface &iface, DiscoveryBeacon &beacon)
void add(const ibrcommon::vinterface &net, int port)
std::map< string, string > stats_data
virtual ~TCPConvergenceLayer()
void queue(const dtn::core::Node &n, const dtn::net::BundleTransfer &job)
void raiseEvent(const dtn::net::P2PDialupEvent &evt)
void eventNotify(const ibrcommon::LinkEvent &evt)
virtual const std::string getName() const
virtual void getStats(ConvergenceLayer::stats_data &data) const