cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::transport::IAcceptor Class Referenceabstract

Interface of acceptors to accept connections. More...

#include <msgpack_rpc/transport/i_acceptor.h>

Inheritance diagram for msgpack_rpc::transport::IAcceptor:
Collaboration diagram for msgpack_rpc::transport::IAcceptor:

Public Types

using ConnectionCallback
 Type of callback functions called when a connection is accepted.

Public Member Functions

 IAcceptor (const IAcceptor &)=delete
 IAcceptor (IAcceptor &&)=delete
virtual ~IAcceptor () noexcept=default
 Destructor.
virtual const addresses::IAddresslocal_address () const noexcept=0
 Get the address of the local endpoint.
IAcceptoroperator= (const IAcceptor &)=delete
IAcceptoroperator= (IAcceptor &&)=delete
virtual void start (ConnectionCallback on_connection)=0
 Start process of this acceptor.
virtual void stop ()=0
 Stop this acceptor.

Protected Member Functions

 IAcceptor () noexcept=default
 Constructor.

Detailed Description

Interface of acceptors to accept connections.

Definition at line 33 of file i_acceptor.h.

Member Typedef Documentation

◆ ConnectionCallback

Initial value:
std::function<void(std::shared_ptr<IConnection>)>

Type of callback functions called when a connection is accepted.

Parameters:

  1. Connection.

Definition at line 42 of file i_acceptor.h.

Member Function Documentation

◆ local_address()

virtual const addresses::IAddress & msgpack_rpc::transport::IAcceptor::local_address ( ) const
nodiscardpure virtualnoexcept

◆ start()

virtual void msgpack_rpc::transport::IAcceptor::start ( ConnectionCallback on_connection)
pure virtual

Start process of this acceptor.

Parameters
[in]on_connectionCallback function called when a connection is accepted.

Implemented in msgpack_rpc::transport::Acceptor< AsioAcceptorType, AsioSocketType, ConcreteAddressType >, and msgpack_rpc::transport::Acceptor< asio::ip::tcp::acceptor, asio::ip::tcp::socket, addresses::TCPAddress >.

◆ stop()


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