Remove some unused asio completion functions
This commit is contained in:
parent
556f45fcbf
commit
87a2513981
2 changed files with 56 additions and 66 deletions
|
|
@ -39,17 +39,8 @@ namespace asio {
|
||||||
std::shared_ptr<const char> _buffer;
|
std::shared_ptr<const char> _buffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
//void read_write_handler( const promise<size_t>::ptr& p,
|
|
||||||
// const boost::system::error_code& ec,
|
|
||||||
// size_t bytes_transferred );
|
|
||||||
void read_write_handler_ec( promise<size_t>* p,
|
|
||||||
boost::system::error_code* oec,
|
|
||||||
const boost::system::error_code& ec,
|
|
||||||
size_t bytes_transferred );
|
|
||||||
void error_handler( const promise<void>::ptr& p,
|
void error_handler( const promise<void>::ptr& p,
|
||||||
const boost::system::error_code& ec );
|
const boost::system::error_code& ec );
|
||||||
void error_handler_ec( promise<boost::system::error_code>* p,
|
|
||||||
const boost::system::error_code& ec );
|
|
||||||
|
|
||||||
template<typename C>
|
template<typename C>
|
||||||
struct non_blocking {
|
struct non_blocking {
|
||||||
|
|
@ -57,14 +48,14 @@ namespace asio {
|
||||||
bool operator()( C& c, bool s ) { c.non_blocking(s); return true; }
|
bool operator()( C& c, bool s ) { c.non_blocking(s); return true; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#if WIN32 // windows stream handles do not support non blocking!
|
#if WIN32 // windows stream handles do not support non blocking!
|
||||||
template<>
|
template<>
|
||||||
struct non_blocking<boost::asio::windows::stream_handle> {
|
struct non_blocking<boost::asio::windows::stream_handle> {
|
||||||
typedef boost::asio::windows::stream_handle C;
|
typedef boost::asio::windows::stream_handle C;
|
||||||
bool operator()( C& ) { return false; }
|
bool operator()( C& ) { return false; }
|
||||||
bool operator()( C&, bool ) { return false; }
|
bool operator()( C&, bool ) { return false; }
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @return the default boost::asio::io_service for use with fc::asio
|
* @return the default boost::asio::io_service for use with fc::asio
|
||||||
|
|
|
||||||
97
src/asio.cpp
97
src/asio.cpp
|
|
@ -10,11 +10,12 @@ namespace fc {
|
||||||
read_write_handler::read_write_handler(const promise<size_t>::ptr& completion_promise) :
|
read_write_handler::read_write_handler(const promise<size_t>::ptr& completion_promise) :
|
||||||
_completion_promise(completion_promise)
|
_completion_promise(completion_promise)
|
||||||
{
|
{
|
||||||
// assert(false); // to detect anywhere we're not passing in a shared buffer
|
//assert(false); // to detect anywhere we're not passing in a shared buffer
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_write_handler::operator()(const boost::system::error_code& ec, size_t bytes_transferred)
|
void read_write_handler::operator()(const boost::system::error_code& ec, size_t bytes_transferred)
|
||||||
{
|
{
|
||||||
// assert(false); // to detect anywhere we're not passing in a shared buffer
|
//assert(false); // to detect anywhere we're not passing in a shared buffer
|
||||||
if( !ec )
|
if( !ec )
|
||||||
_completion_promise->set_value(bytes_transferred);
|
_completion_promise->set_value(bytes_transferred);
|
||||||
else if( ec == boost::asio::error::eof )
|
else if( ec == boost::asio::error::eof )
|
||||||
|
|
@ -22,11 +23,13 @@ namespace fc {
|
||||||
else
|
else
|
||||||
_completion_promise->set_exception( fc::exception_ptr( new fc::exception( FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
_completion_promise->set_exception( fc::exception_ptr( new fc::exception( FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
read_write_handler_with_buffer::read_write_handler_with_buffer(const promise<size_t>::ptr& completion_promise,
|
read_write_handler_with_buffer::read_write_handler_with_buffer(const promise<size_t>::ptr& completion_promise,
|
||||||
const std::shared_ptr<const char>& buffer) :
|
const std::shared_ptr<const char>& buffer) :
|
||||||
_completion_promise(completion_promise),
|
_completion_promise(completion_promise),
|
||||||
_buffer(buffer)
|
_buffer(buffer)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void read_write_handler_with_buffer::operator()(const boost::system::error_code& ec, size_t bytes_transferred)
|
void read_write_handler_with_buffer::operator()(const boost::system::error_code& ec, size_t bytes_transferred)
|
||||||
{
|
{
|
||||||
if( !ec )
|
if( !ec )
|
||||||
|
|
@ -37,57 +40,53 @@ namespace fc {
|
||||||
_completion_promise->set_exception( fc::exception_ptr( new fc::exception( FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
_completion_promise->set_exception( fc::exception_ptr( new fc::exception( FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_write_handler_ec( promise<size_t>* p, boost::system::error_code* oec, const boost::system::error_code& ec, size_t bytes_transferred ) {
|
void error_handler( const promise<void>::ptr& p,
|
||||||
p->set_value(bytes_transferred);
|
const boost::system::error_code& ec )
|
||||||
*oec = ec;
|
{
|
||||||
}
|
if( !ec )
|
||||||
void error_handler( const promise<void>::ptr& p,
|
p->set_value();
|
||||||
const boost::system::error_code& ec ) {
|
else
|
||||||
if( !ec )
|
{
|
||||||
p->set_value();
|
if( ec == boost::asio::error::eof )
|
||||||
else
|
{
|
||||||
{
|
p->set_exception( fc::exception_ptr( new fc::eof_exception(
|
||||||
if( ec == boost::asio::error::eof )
|
FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
||||||
{
|
}
|
||||||
p->set_exception( fc::exception_ptr( new fc::eof_exception(
|
else
|
||||||
FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
{
|
||||||
}
|
//elog( "${message} ", ("message", boost::system::system_error(ec).what()));
|
||||||
else
|
p->set_exception( fc::exception_ptr( new fc::exception(
|
||||||
{
|
FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
||||||
//elog( "${message} ", ("message", boost::system::system_error(ec).what()));
|
}
|
||||||
p->set_exception( fc::exception_ptr( new fc::exception(
|
|
||||||
FC_LOG_MESSAGE( error, "${message} ", ("message", boost::system::system_error(ec).what())) ) ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void error_handler_ec( promise<boost::system::error_code>* p,
|
template<typename EndpointType, typename IteratorType>
|
||||||
const boost::system::error_code& ec ) {
|
void resolve_handler(const typename promise<std::vector<EndpointType> >::ptr& p,
|
||||||
p->set_value(ec);
|
const boost::system::error_code& ec,
|
||||||
|
IteratorType itr)
|
||||||
|
{
|
||||||
|
if( !ec )
|
||||||
|
{
|
||||||
|
std::vector<EndpointType> eps;
|
||||||
|
while( itr != IteratorType() )
|
||||||
|
{
|
||||||
|
eps.push_back(*itr);
|
||||||
|
++itr;
|
||||||
|
}
|
||||||
|
p->set_value( eps );
|
||||||
}
|
}
|
||||||
|
else
|
||||||
template<typename EndpointType, typename IteratorType>
|
{
|
||||||
void resolve_handler(
|
//elog( "%s", boost::system::system_error(ec).what() );
|
||||||
const typename promise<std::vector<EndpointType> >::ptr& p,
|
//p->set_exception( fc::copy_exception( boost::system::system_error(ec) ) );
|
||||||
const boost::system::error_code& ec,
|
p->set_exception(
|
||||||
IteratorType itr) {
|
fc::exception_ptr( new fc::exception(
|
||||||
if( !ec ) {
|
FC_LOG_MESSAGE( error, "process exited with: ${message} ",
|
||||||
std::vector<EndpointType> eps;
|
("message", boost::system::system_error(ec).what())) ) ) );
|
||||||
while( itr != IteratorType() ) {
|
|
||||||
eps.push_back(*itr);
|
|
||||||
++itr;
|
|
||||||
}
|
|
||||||
p->set_value( eps );
|
|
||||||
} else {
|
|
||||||
//elog( "%s", boost::system::system_error(ec).what() );
|
|
||||||
//p->set_exception( fc::copy_exception( boost::system::system_error(ec) ) );
|
|
||||||
p->set_exception(
|
|
||||||
fc::exception_ptr( new fc::exception(
|
|
||||||
FC_LOG_MESSAGE( error, "process exited with: ${message} ",
|
|
||||||
("message", boost::system::system_error(ec).what())) ) ) );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} // end namespace detail
|
||||||
|
|
||||||
struct default_io_service_scope
|
struct default_io_service_scope
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue