|
|
@ -72,14 +72,15 @@ namespace client |
|
|
|
|
|
|
|
|
|
|
|
SAMSocket (SAMBridge& owner); |
|
|
|
SAMSocket (SAMBridge& owner); |
|
|
|
~SAMSocket (); |
|
|
|
~SAMSocket (); |
|
|
|
void CloseStream (); // TODO: implement it better
|
|
|
|
void CloseStream (); // TODO: implement it better
|
|
|
|
|
|
|
|
|
|
|
|
boost::asio::ip::tcp::socket& GetSocket () { return m_Socket; }; |
|
|
|
boost::asio::ip::tcp::socket& GetSocket () { return m_Socket; }; |
|
|
|
void ReceiveHandshake (); |
|
|
|
void ReceiveHandshake (); |
|
|
|
|
|
|
|
void SetSocketType (SAMSocketType socketType) { m_SocketType = socketType; }; |
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
private: |
|
|
|
|
|
|
|
|
|
|
|
void Terminate (); |
|
|
|
void Terminate (); |
|
|
|
void HandleHandshakeReceived (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
|
void HandleHandshakeReceived (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
|
void HandleHandshakeReplySent (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
|
void HandleHandshakeReplySent (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
|
void HandleMessage (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
|
void HandleMessage (const boost::system::error_code& ecode, std::size_t bytes_transferred); |
|
|
@ -126,6 +127,12 @@ namespace client |
|
|
|
{ |
|
|
|
{ |
|
|
|
ClientDestination * localDestination; |
|
|
|
ClientDestination * localDestination; |
|
|
|
std::list<std::shared_ptr<SAMSocket> > sockets; |
|
|
|
std::list<std::shared_ptr<SAMSocket> > sockets; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~SAMSession () |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
for (auto it: sockets) |
|
|
|
|
|
|
|
it->SetSocketType (eSAMSocketTypeTerminated); |
|
|
|
|
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
class SAMBridge |
|
|
|
class SAMBridge |
|
|
|