sync bugfix
[anytun.git] / syncClientSocket.cpp
blob34a23f03f2a2046e4e58979f93e5870f208f81de
1 #include <sstream>
2 #include <iostream>
3 #include <string>
5 #include <boost/archive/text_oarchive.hpp>
6 #include <boost/archive/text_iarchive.hpp>
9 #include "log.h"
10 //#include "connectionParam.h"
11 #include "Sockets/Utility.h"
12 #include "syncClientSocket.h"
13 #include "buffer.h"
16 SyncClientSocket::SyncClientSocket(ISocketHandler& h,ConnectionList & cl)
17 :TcpSocket(h),cl_(cl)
19 // initial connection timeout setting and number of retries
20 SetConnectTimeout(12);
21 SetConnectionRetry(-1); //infinite reties
23 // Also reconnect broken link
24 SetReconnect(true);
28 bool SyncClientSocket::OnConnectRetry()
30 return true;
34 void SyncClientSocket::OnReconnect()
36 cLog.msg(Log::PRIO_NOTICE) << "reconnected with " << GetRemoteHostname() << std::endl;
37 // ...
38 //Send("Welcome back\r\n");
42 void SyncClientSocket::OnRawData(const char *buf,size_t len)
43 //void SyncClientSocket::OnLine(const std::string& line)
45 cLog.msg(Log::PRIO_NOTICE) << "recieved sync inforamtaion from " << GetRemoteHostname() << std::endl;
46 for(size_t index=0;index<len;index++)
48 std::cout << buf[index];
49 iss_ << buf[index];
52 while(!iss_.eof() && !iss_.fail())
54 boost::archive::text_iarchive ia(iss_);
55 SyncCommand scom(cl_);
56 ia >> scom;
58 //u_int16_t mux = scom.getMux();
59 //const ConnectionParam & conn = cl_.getConnection(mux)->second;
60 //cLog.msg(Log::PRIO_NOTICE) << "sync connection #"<<mux<<" remote host " << conn.remote_host_ << ":" << conn.remote_port_ << std::endl;
63 //void StatusClientSocket::InitSSLServer()
64 //{
65 // InitializeContext("server.pem", "keypwd", SSLv23_method());
66 //}
69 //void StatusClientSocket::Init()
70 //{
71 // EnableSSL();
72 //}