irccd  3.0.3
Public Member Functions | List of all members
irccd::local_acceptor Class Reference

Local acceptor. More...

#include <acceptor.hpp>

Inheritance diagram for irccd::local_acceptor:
irccd::basic_socket_acceptor< boost::asio::local::stream_protocol::acceptor > irccd::acceptor

Public Member Functions

 local_acceptor (boost::asio::io_context &service, const boost::filesystem::path &path)
 
void accept (handler handler) override
 
 basic_socket_acceptor (boost::asio::io_context &service)
 
 basic_socket_acceptor (boost::asio::io_context &service, Acceptor acceptor) noexcept
 
template<typename Socket , typename Handler >
void accept (Socket &sc, Handler handler)
 
- Public Member Functions inherited from irccd::basic_socket_acceptor< boost::asio::local::stream_protocol::acceptor >
 basic_socket_acceptor (boost::asio::io_context &service)
 
 basic_socket_acceptor (boost::asio::io_context &service, boost::asio::local::stream_protocol::acceptor acceptor) noexcept
 
auto get_service () const noexcept -> const boost::asio::io_context &
 
auto get_service () noexcept -> boost::asio::io_context &
 
auto get_acceptor () const noexcept -> const boost::asio::local::stream_protocol::acceptor &
 
auto get_acceptor () noexcept -> boost::asio::local::stream_protocol::acceptor &
 
void accept (Socket &sc, Handler handler)
 
- Public Member Functions inherited from irccd::acceptor
 acceptor ()=default
 
virtual ~acceptor ()=default
 

Additional Inherited Members

- Public Types inherited from irccd::basic_socket_acceptor< boost::asio::local::stream_protocol::acceptor >
using socket_type = typename Acceptor::protocol_type::socket
 
- Public Types inherited from irccd::acceptor
using handler = std::function< void(std::error_code, std::shared_ptr< stream >)>
 Accept completion handler. More...
 
- Protected Attributes inherited from irccd::basic_socket_acceptor< boost::asio::local::stream_protocol::acceptor >
boost::asio::io_context & service_
 The I/O context. More...
 
boost::asio::local::stream_protocol::acceptor acceptor_
 The underlying acceptor. More...
 

Detailed Description

Local acceptor.

Note
Only available if BOOST_ASIO_HAS_LOCAL_SOCKETS is defined

Constructor & Destructor Documentation

◆ local_acceptor()

irccd::local_acceptor::local_acceptor ( boost::asio::io_context &  service,
const boost::filesystem::path &  path 
)
inline

Construct a local acceptor.

Parameters
servicethe I/O service
paththe unix socket file

Member Function Documentation

◆ accept() [1/2]

void irccd::local_acceptor::accept ( handler  handler)
inlineoverridevirtual

Start asynchronous accept.

Once the client is accepted, the original acceptor must be kept until it is destroyed.

Precondition
another accept operation must not be running
handler != nullptr
Parameters
handlerthe handler

Implements irccd::acceptor.

◆ accept() [2/2]

template<typename Socket , typename Handler >
void irccd::basic_socket_acceptor< Acceptor >::accept ( typename Socket  ,
typename Handler   
)
inline

Inherited functions.

◆ basic_socket_acceptor() [1/2]

Inherited constructors.

◆ basic_socket_acceptor() [2/2]

Inherited constructors.


The documentation for this class was generated from the following file: