|
|
@ -181,6 +181,11 @@ namespace client |
|
|
|
const i2p::data::PrivateKeys& GetPrivateKeys () const { return m_Keys; }; |
|
|
|
const i2p::data::PrivateKeys& GetPrivateKeys () const { return m_Keys; }; |
|
|
|
void Sign (const uint8_t * buf, int len, uint8_t * signature) const { m_Keys.Sign (buf, len, signature); }; |
|
|
|
void Sign (const uint8_t * buf, int len, uint8_t * signature) const { m_Keys.Sign (buf, len, signature); }; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ref counter
|
|
|
|
|
|
|
|
int Acquire () { return ++m_RefCounter; }; |
|
|
|
|
|
|
|
int Release () { return --m_RefCounter; }; |
|
|
|
|
|
|
|
int GetRefCounter () const { return m_RefCounter; }; |
|
|
|
|
|
|
|
|
|
|
|
// streaming
|
|
|
|
// streaming
|
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> CreateStreamingDestination (int port, bool gzip = true); // additional
|
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> CreateStreamingDestination (int port, bool gzip = true); // additional
|
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> GetStreamingDestination (int port = 0) const; |
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> GetStreamingDestination (int port = 0) const; |
|
|
@ -223,7 +228,8 @@ namespace client |
|
|
|
|
|
|
|
|
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> m_StreamingDestination; // default
|
|
|
|
std::shared_ptr<i2p::stream::StreamingDestination> m_StreamingDestination; // default
|
|
|
|
std::map<uint16_t, std::shared_ptr<i2p::stream::StreamingDestination> > m_StreamingDestinationsByPorts; |
|
|
|
std::map<uint16_t, std::shared_ptr<i2p::stream::StreamingDestination> > m_StreamingDestinationsByPorts; |
|
|
|
i2p::datagram::DatagramDestination * m_DatagramDestination; |
|
|
|
i2p::datagram::DatagramDestination * m_DatagramDestination; |
|
|
|
|
|
|
|
int m_RefCounter; // how many clients(tunnels) use this destination
|
|
|
|
|
|
|
|
|
|
|
|
boost::asio::deadline_timer m_ReadyChecker; |
|
|
|
boost::asio::deadline_timer m_ReadyChecker; |
|
|
|
|
|
|
|
|
|
|
|