void NTCPSession::Connected () { LogPrint ("NTCP session connected"); m_IsEstablished = true; SendTimeSyncMessage (); SendI2NPMessage (CreateDatabaseStoreMsg ()); // we tell immediately who we are if (!m_DelayedMessages.empty ()) { for (auto it :m_DelayedMessages) SendI2NPMessage (it); m_DelayedMessages.clear (); } }
void NTCPServerConnection::Connected () { LogPrint ("NTCP server session connected"); SetIsEstablished (true); i2p::transports.AddNTCPSession (this); SendTimeSyncMessage (); SendI2NPMessage (CreateDatabaseStoreMsg ()); // we tell immediately who we are }
void Transports::PostMessage (const i2p::data::IdentHash& ident, i2p::I2NPMessage * msg) { auto session = FindNTCPSession (ident); if (!session) { RouterInfo * r = netdb.FindRouter (ident); if (r) { auto address = r->GetNTCPAddress (); if (address) { session = new i2p::ntcp::NTCPClient (m_Service, address->host.c_str (), address->port, *r); AddNTCPSession (session); } } } if (session) session->SendI2NPMessage (msg); else LogPrint ("Session not found"); }