clean up tcp_server accept api, removing unused return value

This commit is contained in:
Daniel Larimer 2013-08-08 15:12:01 -04:00
parent a69abee4c4
commit ef2b0453cd
3 changed files with 11 additions and 18 deletions

View file

@ -44,7 +44,7 @@ namespace fc {
~tcp_server(); ~tcp_server();
void close(); void close();
bool accept( tcp_socket& s ); void accept( tcp_socket& s );
void listen( uint16_t port ); void listen( uint16_t port );
private: private:

View file

@ -58,11 +58,12 @@ namespace fc { namespace http {
}catch(...){} }catch(...){}
} }
void accept_loop() { void accept_loop() {
http::connection_ptr con = std::make_shared<http::connection>(); while( !accept_complete.canceled() )
while( tcp_serv.accept( con->get_socket() ) ) { {
http::connection_ptr con = std::make_shared<http::connection>();
tcp_serv.accept( con->get_socket() );
ilog( "Accept Connection" ); ilog( "Accept Connection" );
fc::async( [=](){ handle_connection( con, on_req ); } ); fc::async( [=](){ handle_connection( con, on_req ); } );
con = std::make_shared<http::connection>();
} }
} }

View file

@ -86,25 +86,17 @@ namespace fc {
} }
bool tcp_server::accept( tcp_socket& s ) { void tcp_server::accept( tcp_socket& s )
{
try try
{ {
if( !my ) return false; FC_ASSERT( my != nullptr );
fc::asio::tcp::accept( my->_accept, s.my->_sock ); fc::asio::tcp::accept( my->_accept, s.my->_sock );
/*
fc::promise<void>::ptr p( new promise<void>("tcp::accept") );
my->_accept.async_accept( s.my->_sock, [=]( const boost::system::error_code& e ) {
p->set_value(e);
} );
auto ec = p->wait();
if( ec ) FC_THROW_EXCEPTION( exception, "system error: ${message}", ("message", fc::string(boost::system::system_error(ec).what()) ));
return true;
*/
return true;
} FC_RETHROW_EXCEPTIONS( warn, "Unable to accept connection on socket." ); } FC_RETHROW_EXCEPTIONS( warn, "Unable to accept connection on socket." );
} }
void tcp_server::listen( uint16_t port ) {
void tcp_server::listen( uint16_t port )
{
if( my ) delete my; if( my ) delete my;
my = new impl(port); my = new impl(port);
} }