mirror of
https://github.com/OpenVPN/openvpn3.git
synced 2024-09-20 04:02:15 +02:00
In asiodispatch.hpp, added dispatcher for asio async_read
without argument: asio_dispatch_read_noarg().
This commit is contained in:
parent
53be529a70
commit
2226a34850
@ -56,7 +56,7 @@ namespace openvpn {
|
||||
return AsioDispatchWrite<C, Handler>(handle_write, obj);
|
||||
}
|
||||
|
||||
// Dispatcher for asio async_read
|
||||
// Dispatcher for asio async_read with argument
|
||||
|
||||
template <typename C, typename Handler, typename Data>
|
||||
class AsioDispatchRead
|
||||
@ -82,6 +82,31 @@ namespace openvpn {
|
||||
return AsioDispatchRead<C, Handler, Data>(handle_read, obj, data);
|
||||
}
|
||||
|
||||
// Dispatcher for asio async_read without argument
|
||||
|
||||
template <typename C, typename Handler>
|
||||
class AsioDispatchReadNoArg
|
||||
{
|
||||
public:
|
||||
AsioDispatchReadNoArg(Handler handle_read, C* obj)
|
||||
: handle_read_(handle_read), obj_(obj) {}
|
||||
|
||||
void operator()(const boost::system::error_code& error, const size_t bytes_recvd)
|
||||
{
|
||||
(obj_.get()->*handle_read_)(error, bytes_recvd);
|
||||
}
|
||||
|
||||
private:
|
||||
Handler handle_read_;
|
||||
boost::intrusive_ptr<C> obj_;
|
||||
};
|
||||
|
||||
template <typename C, typename Handler>
|
||||
AsioDispatchReadNoArg<C, Handler> asio_dispatch_read_noarg(Handler handle_read, C* obj)
|
||||
{
|
||||
return AsioDispatchReadNoArg<C, Handler>(handle_read, obj);
|
||||
}
|
||||
|
||||
// Dispatcher for asio async_wait with argument
|
||||
|
||||
template <typename C, typename Handler, typename Data>
|
||||
|
Loading…
Reference in New Issue
Block a user