rippled
Public Types | Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ripple::detail::WorkSSL Class Reference
Inheritance diagram for ripple::detail::WorkSSL:
Inheritance graph
[legend]
Collaboration diagram for ripple::detail::WorkSSL:
Collaboration graph
[legend]

Public Types

using callback_type = std::function< void(error_code const &, endpoint_type const &, response_type &&)>
 

Public Member Functions

 WorkSSL (std::string const &host, std::string const &path, std::string const &port, boost::asio::io_service &ios, beast::Journal j, Config const &config, endpoint_type const &lastEndpoint, bool lastStatus, callback_type cb)
 
 ~WorkSSL ()=default
 
WorkSSLimpl ()
 
void run () override
 
void cancel () override
 
void fail (error_code const &ec)
 
void onResolve (error_code const &ec, results_type results)
 
void onStart ()
 
void onRequest (error_code const &ec)
 
void onResponse (error_code const &ec)
 
shared_from_this (T... args)
 
weak_from_this (T... args)
 

Protected Types

using error_code = boost::system::error_code
 
using endpoint_type = boost::asio::ip::tcp::endpoint
 
using socket_type = boost::asio::ip::tcp::socket
 
using resolver_type = boost::asio::ip::tcp::resolver
 
using results_type = boost::asio::ip::tcp::resolver::results_type
 
using request_type = boost::beast::http::request< boost::beast::http::empty_body >
 

Protected Attributes

std::string host_
 
std::string path_
 
std::string port_
 
callback_type cb_
 
boost::asio::io_service & ios_
 
boost::asio::io_service::strand strand_
 
resolver_type resolver_
 
socket_type socket_
 
request_type req_
 
response_type res_
 
boost::beast::multi_buffer readBuf_
 
endpoint_type lastEndpoint_
 
bool lastStatus_
 

Private Types

using stream_type = boost::asio::ssl::stream< socket_type & >
 

Private Member Functions

stream_typestream ()
 
void onConnect (error_code const &ec)
 
void onHandshake (error_code const &ec)
 
void close ()
 

Private Attributes

HTTPClientSSLContext context_
 
stream_type stream_
 

Friends

class WorkBase< WorkSSL >
 

Detailed Description

Definition at line 37 of file WorkSSL.h.

Member Typedef Documentation

◆ stream_type

using ripple::detail::WorkSSL::stream_type = boost::asio::ssl::stream<socket_type&>
private

Definition at line 43 of file WorkSSL.h.

◆ error_code

using ripple::detail::WorkBase< WorkSSL >::error_code = boost::system::error_code
protectedinherited

Definition at line 43 of file WorkBase.h.

◆ endpoint_type

using ripple::detail::WorkBase< WorkSSL >::endpoint_type = boost::asio::ip::tcp::endpoint
protectedinherited

Definition at line 44 of file WorkBase.h.

◆ callback_type

Definition at line 48 of file WorkBase.h.

◆ socket_type

using ripple::detail::WorkBase< WorkSSL >::socket_type = boost::asio::ip::tcp::socket
protectedinherited

Definition at line 51 of file WorkBase.h.

◆ resolver_type

using ripple::detail::WorkBase< WorkSSL >::resolver_type = boost::asio::ip::tcp::resolver
protectedinherited

Definition at line 52 of file WorkBase.h.

◆ results_type

using ripple::detail::WorkBase< WorkSSL >::results_type = boost::asio::ip::tcp::resolver::results_type
protectedinherited

Definition at line 53 of file WorkBase.h.

◆ request_type

using ripple::detail::WorkBase< WorkSSL >::request_type = boost::beast::http::request<boost::beast::http::empty_body>
protectedinherited

Definition at line 55 of file WorkBase.h.

Constructor & Destructor Documentation

◆ WorkSSL()

ripple::detail::WorkSSL::WorkSSL ( std::string const &  host,
std::string const &  path,
std::string const &  port,
boost::asio::io_service &  ios,
beast::Journal  j,
Config const &  config,
endpoint_type const &  lastEndpoint,
bool  lastStatus,
callback_type  cb 
)

Definition at line 25 of file WorkSSL.cpp.

◆ ~WorkSSL()

ripple::detail::WorkSSL::~WorkSSL ( )
default

Member Function Documentation

◆ stream()

stream_type& ripple::detail::WorkSSL::stream ( )
private

Definition at line 63 of file WorkSSL.h.

◆ onConnect()

void ripple::detail::WorkSSL::onConnect ( error_code const &  ec)
private

Definition at line 46 of file WorkSSL.cpp.

◆ onHandshake()

void ripple::detail::WorkSSL::onHandshake ( error_code const &  ec)
private

Definition at line 59 of file WorkSSL.cpp.

◆ impl()

Definition at line 83 of file WorkBase.h.

◆ run()

void ripple::detail::WorkBase< WorkSSL >::run
overridevirtualinherited

Implements ripple::detail::Work.

Definition at line 150 of file WorkBase.h.

◆ cancel()

void ripple::detail::WorkBase< WorkSSL >::cancel
overridevirtualinherited

Implements ripple::detail::Work.

Definition at line 168 of file WorkBase.h.

◆ fail()

void ripple::detail::WorkBase< WorkSSL >::fail ( error_code const &  ec)
inherited

Definition at line 183 of file WorkBase.h.

◆ onResolve()

void ripple::detail::WorkBase< WorkSSL >::onResolve ( error_code const &  ec,
results_type  results 
)
inherited

Definition at line 194 of file WorkBase.h.

◆ onStart()

void ripple::detail::WorkBase< WorkSSL >::onStart
inherited

Definition at line 243 of file WorkBase.h.

◆ onRequest()

void ripple::detail::WorkBase< WorkSSL >::onRequest ( error_code const &  ec)
inherited

Definition at line 262 of file WorkBase.h.

◆ onResponse()

void ripple::detail::WorkBase< WorkSSL >::onResponse ( error_code const &  ec)
inherited

Definition at line 279 of file WorkBase.h.

◆ close()

void ripple::detail::WorkBase< WorkSSL >::close
privateinherited

Definition at line 292 of file WorkBase.h.

Friends And Related Function Documentation

◆ WorkBase< WorkSSL >

friend class WorkBase< WorkSSL >
friend

Definition at line 40 of file WorkSSL.h.

Member Data Documentation

◆ context_

HTTPClientSSLContext ripple::detail::WorkSSL::context_
private

Definition at line 45 of file WorkSSL.h.

◆ stream_

stream_type ripple::detail::WorkSSL::stream_
private

Definition at line 46 of file WorkSSL.h.

◆ host_

std::string ripple::detail::WorkBase< WorkSSL >::host_
protectedinherited

Definition at line 57 of file WorkBase.h.

◆ path_

std::string ripple::detail::WorkBase< WorkSSL >::path_
protectedinherited

Definition at line 58 of file WorkBase.h.

◆ port_

std::string ripple::detail::WorkBase< WorkSSL >::port_
protectedinherited

Definition at line 59 of file WorkBase.h.

◆ cb_

callback_type ripple::detail::WorkBase< WorkSSL >::cb_
protectedinherited

Definition at line 60 of file WorkBase.h.

◆ ios_

boost::asio::io_service& ripple::detail::WorkBase< WorkSSL >::ios_
protectedinherited

Definition at line 61 of file WorkBase.h.

◆ strand_

boost::asio::io_service::strand ripple::detail::WorkBase< WorkSSL >::strand_
protectedinherited

Definition at line 62 of file WorkBase.h.

◆ resolver_

resolver_type ripple::detail::WorkBase< WorkSSL >::resolver_
protectedinherited

Definition at line 63 of file WorkBase.h.

◆ socket_

socket_type ripple::detail::WorkBase< WorkSSL >::socket_
protectedinherited

Definition at line 64 of file WorkBase.h.

◆ req_

request_type ripple::detail::WorkBase< WorkSSL >::req_
protectedinherited

Definition at line 65 of file WorkBase.h.

◆ res_

response_type ripple::detail::WorkBase< WorkSSL >::res_
protectedinherited

Definition at line 66 of file WorkBase.h.

◆ readBuf_

boost::beast::multi_buffer ripple::detail::WorkBase< WorkSSL >::readBuf_
protectedinherited

Definition at line 67 of file WorkBase.h.

◆ lastEndpoint_

endpoint_type ripple::detail::WorkBase< WorkSSL >::lastEndpoint_
protectedinherited

Definition at line 68 of file WorkBase.h.

◆ lastStatus_

bool ripple::detail::WorkBase< WorkSSL >::lastStatus_
protectedinherited

Definition at line 69 of file WorkBase.h.