irccd  3.0.3
Public Types | Public Member Functions | List of all members
irccd::connector Class Referenceabstract

Abstract connection interface. More...

#include <connector.hpp>

Inheritance diagram for irccd::connector:
irccd::basic_socket_connector irccd::tls_connector< SocketConnector > irccd::ip_connector irccd::local_connector

Public Types

using handler = std::function< void(std::error_code, std::shared_ptr< stream >)>
 Connect completion handler. More...
 

Public Member Functions

 connector ()=default
 
virtual ~connector ()=default
 
virtual void connect (handler handler)=0
 

Detailed Description

Abstract connection interface.

This class is used to connect to a stream end point (usually sockets) in an asynchronous manner.

Derived class must implement non-blocking connect function.

Member Typedef Documentation

◆ handler

using irccd::connector::handler = std::function<void (std::error_code, std::shared_ptr<stream>)>

Connect completion handler.

Constructor & Destructor Documentation

◆ connector()

irccd::connector::connector ( )
default

Default constructor.

◆ ~connector()

virtual irccd::connector::~connector ( )
virtualdefault

Virtual destructor defaulted.

Member Function Documentation

◆ connect()

virtual void irccd::connector::connect ( handler  handler)
pure virtual

Start asynchronous connect.

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

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

Implemented in irccd::tls_connector< SocketConnector >, irccd::local_connector, and irccd::ip_connector.


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