31 #include <ibrcommon/net/vinterface.h>
32 #include <ibrcommon/net/socket.h>
33 #include <ibrcommon/thread/Mutex.h>
34 #include <ibrcommon/thread/Timer.h>
45 static const std::string TAG;
49 ApiServer(
const ibrcommon::vinterface &net,
int port = 4550);
55 virtual const std::string
getName()
const;
77 virtual size_t timeout(ibrcommon::Timer*);
94 void startGarbageCollector();
100 size_t nextRegistrationExpiry();
102 ibrcommon::vsocket _sockets;
105 typedef std::list<Registration*> registration_list;
106 registration_list _registrations;
108 typedef std::list<ClientHandler*> client_list;
109 client_list _connections;
111 ibrcommon::Mutex _connection_lock;
112 ibrcommon::Mutex _registration_lock;
113 ibrcommon::Timer _garbage_collector;
virtual void connectionUp(ClientHandler *conn)
virtual const std::string getName() const
virtual void connectionDown(ClientHandler *conn)
virtual size_t timeout(ibrcommon::Timer *)
ApiServer(const ibrcommon::File &socket)
void raiseEvent(const dtn::routing::QueueBundleEvent &evt)
Registration & getRegistration(const std::string &handle)
void freeRegistration(Registration ®)