From fffd213c8cba2135afda493d797c41c10354770e Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Sat, 12 Apr 2008 11:38:42 +0000 Subject: big svn cleanup --- src/syncSocket.cpp | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/syncSocket.cpp (limited to 'src/syncSocket.cpp') diff --git a/src/syncSocket.cpp b/src/syncSocket.cpp new file mode 100644 index 0000000..96da70c --- /dev/null +++ b/src/syncSocket.cpp @@ -0,0 +1,82 @@ +#include +#include +#include +#include "routingTable.h" +#include "rtpSessionTable.h" +#include +#include + + +//#include "connectionParam.h" +#include "Sockets/Utility.h" +#include "syncSocket.h" +#include "syncCommand.h" +#include "buffer.h" +//#include "log.h" + +SyncSocket::SyncSocket(ISocketHandler& h,ConnectionList & cl) +:TcpSocket(h),cl_(cl) +{ + SetConnectTimeout(12); +} + + + +void SyncSocket::OnAccept() +{ +// Send( Utility::GetLocalHostname() + "\n"); +// Send( Utility::GetLocalAddress() + "\n"); +// Send("Number of sockets in list : " + Utility::l2string(Handler().GetCount()) + "\n"); +// Send("\n"); + //TODO Locking here + ConnectionMap::iterator cit = cl_.getBeginUnlocked(); + for (;cit!=cl_.getEndUnlocked();++cit) + { + std::ostringstream sout; + boost::archive::text_oarchive oa(sout); + const SyncCommand scom(cl_,cit->first); + oa << scom; + std::stringstream lengthout; + lengthout << std::setw(5) << std::setfill('0') << sout.str().size()<< ' '; + Send(lengthout.str()); + Send(sout.str()); + } + //TODO Locking here + RoutingMap::iterator it = gRoutingTable.getBeginUnlocked(); + for (;it!=gRoutingTable.getEndUnlocked();++it) + { + NetworkPrefix tmp(it->first); + std::ostringstream sout; + boost::archive::text_oarchive oa(sout); + const SyncCommand scom(tmp); + oa << scom; + std::stringstream lengthout; + lengthout << std::setw(5) << std::setfill('0') << sout.str().size()<< ' '; + Send(lengthout.str()); + Send(sout.str()); + } + //TODO Locking here + RtpSessionMap::iterator rit = gRtpSessionTable.getBeginUnlocked(); + for (;rit!=gRtpSessionTable.getEndUnlocked();++rit) + { + std::ostringstream sout; + boost::archive::text_oarchive oa(sout); + const SyncCommand scom(rit->first); + oa << scom; + std::stringstream lengthout; + lengthout << std::setw(5) << std::setfill('0') << sout.str().size()<< ' '; + Send(lengthout.str()); + Send(sout.str()); + } +} + +//void StatusSocket::InitSSLServer() +//{ +// InitializeContext("server.pem", "keypwd", SSLv23_method()); +//} +// +// +//void StatusSocket::Init() +//{ +// EnableSSL(); +//} -- cgit v1.2.3