5 #include <boost/archive/text_oarchive.hpp>
6 #include <boost/archive/text_iarchive.hpp>
10 //#include "connectionParam.h"
11 #include "Sockets/Utility.h"
12 #include "syncClientSocket.h"
16 SyncClientSocket::SyncClientSocket(ISocketHandler
& h
,ConnectionList
& cl
)
17 :TcpSocket(h
),cl_(cl
),missing_chars(-1)
19 // initial connection timeout setting and number of retries
20 SetConnectTimeout(12);
21 SetConnectionRetry(-1); //infinite reties
23 // Also reconnect broken link
28 bool SyncClientSocket::OnConnectRetry()
34 void SyncClientSocket::OnReconnect()
36 cLog
.msg(Log::PRIO_NOTICE
) << "reconnected with " << GetRemoteHostname() << std::endl
;
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 for(size_t index
=0;index
<len
;index
++)
47 std::cout
<< buf
[index
];
52 if(missing_chars
==-1 && iss_
.good() && iss_
.str().size()>5)
54 char * buffer
= new char [6];
56 std::stringstream tmp
;
59 cLog
.msg(Log::PRIO_NOTICE
) << "recieved sync inforamtaion from " << GetRemoteHostname() <<" "<<tmp
.str()<<"bytes of data"<< std::endl
;
62 if(missing_chars
>0 && missing_chars
<=static_cast<int32_t>(iss_
.str().size()))
64 char * buffer
= new char [missing_chars
];
65 iss_
.read(buffer
,missing_chars
);
66 std::stringstream tmp
;
67 tmp
.write(buffer
,missing_chars
);
68 cLog
.msg(Log::PRIO_NOTICE
) << "recieved sync inforamtaion from " << GetRemoteHostname() <<" \""<<tmp
.str()<<'"'<< std::endl
;
69 boost::archive::text_iarchive
ia(tmp
);
70 SyncCommand
scom(cl_
);
78 //u_int16_t mux = scom.getMux();
79 //const ConnectionParam & conn = cl_.getConnection(mux)->second;
80 //cLog.msg(Log::PRIO_NOTICE) << "sync connection #"<<mux<<" remote host " << conn.remote_host_ << ":" << conn.remote_port_ << std::endl;
83 //void StatusClientSocket::InitSSLServer()
85 // InitializeContext("server.pem", "keypwd", SSLv23_method());
89 //void StatusClientSocket::Init()