/* */ #ifndef _D_DHT_CONNECTION_IMPL_H_ #define _D_DHT_CONNECTION_IMPL_H_ #include "DHTConnection.h" #include "SharedHandle.h" #include "IntSequence.h" namespace aria2 { class SocketCore; class Logger; class DHTConnectionImpl:public DHTConnection { private: SharedHandle _socket; const Logger* _logger; public: DHTConnectionImpl(); virtual ~DHTConnectionImpl(); uint16_t bind(IntSequence& ports); uint16_t bind(uint16_t port); virtual ssize_t receiveMessage(char* data, size_t len, std::string& host, uint16_t& port); virtual void sendMessage(const char* data, size_t len, const std::string& host, uint16_t port); SharedHandle getSocket() const; }; } // namespace aria2 #endif // _D_DHT_CONNECTION_IMPL_H_