irccd  3.0.3
Public Types | Public Member Functions | List of all members
irccd::tls_connector< SocketConnector > Class Template Reference

TLS/SSL connectors. More...

#include <connector.hpp>

Inheritance diagram for irccd::tls_connector< SocketConnector >:
irccd::connector

Public Types

using socket_type = typename SocketConnector::socket_type
 the underlying socket type. More...
 
- Public Types inherited from irccd::connector
using handler = std::function< void(std::error_code, std::shared_ptr< stream >)>
 Connect completion handler. More...
 

Public Member Functions

template<typename... Args>
 tls_connector (boost::asio::ssl::context context, Args &&... args)
 
void connect (handler handler) override
 
- Public Member Functions inherited from irccd::connector
 connector ()=default
 
virtual ~connector ()=default
 

Detailed Description

template<typename SocketConnector>
class irccd::tls_connector< SocketConnector >

TLS/SSL connectors.

Template Parameters
SocketConnectorthe socket connector (e.g. ip_connector)

Member Typedef Documentation

◆ socket_type

template<typename SocketConnector >
using irccd::tls_connector< SocketConnector >::socket_type = typename SocketConnector::socket_type

the underlying socket type.

Constructor & Destructor Documentation

◆ tls_connector()

template<typename SocketConnector >
template<typename... Args>
irccd::tls_connector< SocketConnector >::tls_connector ( boost::asio::ssl::context  context,
Args &&...  args 
)
inline

Construct a secure layer transport server.

Parameters
contextthe SSL context
argsthe arguments to SocketConnector constructor

Member Function Documentation

◆ connect()

template<typename SocketConnector >
void irccd::tls_connector< SocketConnector >::connect ( handler  handler)
inlineoverridevirtual

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

Implements irccd::connector.


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