X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Fserver.cpp;h=c8255eee677084d39c1571c813d5734e401efa05;hp=b749afa221d536f8be555ccfbaaa87dd8fe9ef0c;hb=04e6b2712bf0fdfdb6a74cf6d26f02e6a8d37ae2;hpb=ac7fdc22899c0c493fda5fdb3a4cb67e77504a6b diff --git a/src/server.cpp b/src/server.cpp index b749afa..c8255ee 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -60,6 +60,19 @@ server::~server() delete i->second; } +int server::add_connection(connection* newconn) +{ + connections[next_id]=newconn; + return next_id++; +} + +/** + Gets a connection by id + + \param conn_id Connection ID + + \retval Pointer to connection object +*/ connection* server::get_connection(unsigned int conn_id) { std::map::iterator p=connections.find(conn_id); @@ -76,6 +89,14 @@ void server::check_timeout() i->second->check_timeout(); } +void server::fill_connection_buffers(void) +{ + std::map::iterator ie=connections.end(); + for(std::map::iterator i=connections.begin(); i != ie; i++) + if (!i->second->is_closed()) + i->second->fill_buffer(); +} + bool server::get_packet(std::string& data, unsigned int& conn_id) { // todo: this is somehow unfair: the first connections in the map get checked more