From d5771acd3df3b3573762c302a915e226dc6a4821 Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Wed, 10 Jul 2013 00:31:44 -0400 Subject: [PATCH] added remote_endpoint() call to tcp_socket --- include/fc/network/tcp_socket.hpp | 1 + src/network/tcp_socket.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/fc/network/tcp_socket.hpp b/include/fc/network/tcp_socket.hpp index 69d4ea4..18fa7af 100644 --- a/include/fc/network/tcp_socket.hpp +++ b/include/fc/network/tcp_socket.hpp @@ -12,6 +12,7 @@ namespace fc { ~tcp_socket(); void connect_to( const fc::ip::endpoint& e ); + fc::ip::endpoint remote_endpoint()const; /// istream interface /// @{ diff --git a/src/network/tcp_socket.cpp b/src/network/tcp_socket.cpp index daabd2e..0f7f0b3 100644 --- a/src/network/tcp_socket.cpp +++ b/src/network/tcp_socket.cpp @@ -37,6 +37,11 @@ namespace fc { return fc::asio::write_some( my->_sock, boost::asio::buffer( buf, len ) ); } + fc::ip::endpoint tcp_socket::remote_endpoint()const + { + auto rep = my->_sock.remote_endpoint(); + return fc::ip::endpoint(rep.address().to_v4().to_ulong(), rep.port() ); + } size_t tcp_socket::readsome( char* buf, size_t len ) { auto r = fc::asio::read_some( my->_sock, boost::asio::buffer( buf, len ) );