xrpld
Loading...
Searching...
No Matches
xrpl::detail::WorkSSL Class Reference

#include <WorkSSL.h>

Inheritance diagram for xrpl::detail::WorkSSL:
Collaboration diagram for xrpl::detail::WorkSSL:

Public Types

using CallbackType

Public Member Functions

 WorkSSL (std::string const &host, std::string const &path, std::string const &port, boost::asio::io_context &ios, beast::Journal j, Config const &config, EndpointType const &lastEndpoint, bool lastStatus, CallbackType cb)
 ~WorkSSL () override=default
WorkSSL & impl ()
void run () override
void cancel () override
void fail (ErrorCode const &ec)
void onResolve (ErrorCode const &ec, ResultsType results)
void onConnect (ErrorCode const &ec, EndpointType const &endpoint)
void onStart ()
void onRequest (ErrorCode const &ec)
void onResponse (ErrorCode const &ec)
T shared_from_this (T... args)
T weak_from_this (T... args)

Protected Types

using ErrorCode
using EndpointType
using SocketType
using ResolverType
using ResultsType
using RequestType

Protected Attributes

std::string host_
std::string path_
std::string port_
CallbackType cb_
boost::asio::io_context & ios_
boost::asio::strand< boost::asio::io_context::executor_type > strand_
ResolverType resolver_
SocketType socket_
RequestType req_
ResponseType res_
boost::beast::multi_buffer readBuf_
EndpointType lastEndpoint_
bool lastStatus_

Private Types

using StreamType = boost::asio::ssl::stream<SocketType&>

Private Member Functions

StreamType & stream ()
void onConnect (ErrorCode const &ec)
void onHandshake (ErrorCode const &ec)
void close ()

Private Attributes

HTTPClientSSLContext context_
StreamType stream_
friend Impl

Friends

class WorkBase< WorkSSL >

Detailed Description

Definition at line 17 of file WorkSSL.h.

Member Typedef Documentation

◆ StreamType

using xrpl::detail::WorkSSL::StreamType = boost::asio::ssl::stream<SocketType&>
private

Definition at line 22 of file WorkSSL.h.

◆ ErrorCode

using xrpl::detail::WorkBase< WorkSSL >::ErrorCode
protectedinherited

Definition at line 26 of file WorkBase.h.

◆ EndpointType

using xrpl::detail::WorkBase< WorkSSL >::EndpointType
protectedinherited

Definition at line 27 of file WorkBase.h.

◆ CallbackType

using xrpl::detail::WorkBase< WorkSSL >::CallbackType
inherited

Definition at line 30 of file WorkBase.h.

◆ SocketType

using xrpl::detail::WorkBase< WorkSSL >::SocketType
protectedinherited

Definition at line 33 of file WorkBase.h.

◆ ResolverType

using xrpl::detail::WorkBase< WorkSSL >::ResolverType
protectedinherited

Definition at line 34 of file WorkBase.h.

◆ ResultsType

using xrpl::detail::WorkBase< WorkSSL >::ResultsType
protectedinherited

Definition at line 35 of file WorkBase.h.

◆ RequestType

using xrpl::detail::WorkBase< WorkSSL >::RequestType
protectedinherited

Definition at line 36 of file WorkBase.h.

Constructor & Destructor Documentation

◆ WorkSSL()

xrpl::detail::WorkSSL::WorkSSL ( std::string const & host,
std::string const & path,
std::string const & port,
boost::asio::io_context & ios,
beast::Journal j,
Config const & config,
EndpointType const & lastEndpoint,
bool lastStatus,
CallbackType cb )

Definition at line 20 of file WorkSSL.cpp.

◆ ~WorkSSL()

xrpl::detail::WorkSSL::~WorkSSL ( )
overridedefault

Member Function Documentation

◆ stream()

StreamType & xrpl::detail::WorkSSL::stream ( )
private

Definition at line 42 of file WorkSSL.h.

◆ onConnect() [1/2]

void xrpl::detail::WorkSSL::onConnect ( ErrorCode const & ec)
private

Definition at line 45 of file WorkSSL.cpp.

◆ onHandshake()

void xrpl::detail::WorkSSL::onHandshake ( ErrorCode const & ec)
private

Definition at line 61 of file WorkSSL.cpp.

◆ impl()

WorkSSL & xrpl::detail::WorkBase< WorkSSL >::impl ( )
inherited

Definition at line 66 of file WorkBase.h.

◆ run()

void xrpl::detail::WorkBase< WorkSSL >::run ( )
overridevirtualinherited

Implements xrpl::detail::Work.

Definition at line 72 of file WorkBase.h.

◆ cancel()

void xrpl::detail::WorkBase< WorkSSL >::cancel ( )
overridevirtualinherited

Implements xrpl::detail::Work.

Definition at line 75 of file WorkBase.h.

◆ fail()

void xrpl::detail::WorkBase< WorkSSL >::fail ( ErrorCode const & ec)
inherited

Definition at line 78 of file WorkBase.h.

◆ onResolve()

void xrpl::detail::WorkBase< WorkSSL >::onResolve ( ErrorCode const & ec,
ResultsType results )
inherited

Definition at line 81 of file WorkBase.h.

◆ onConnect() [2/2]

void xrpl::detail::WorkBase< WorkSSL >::onConnect ( ErrorCode const & ec,
EndpointType const & endpoint )
inherited

Definition at line 84 of file WorkBase.h.

◆ onStart()

void xrpl::detail::WorkBase< WorkSSL >::onStart ( )
inherited

Definition at line 87 of file WorkBase.h.

◆ onRequest()

void xrpl::detail::WorkBase< WorkSSL >::onRequest ( ErrorCode const & ec)
inherited

Definition at line 90 of file WorkBase.h.

◆ onResponse()

void xrpl::detail::WorkBase< WorkSSL >::onResponse ( ErrorCode const & ec)
inherited

Definition at line 93 of file WorkBase.h.

◆ close()

void xrpl::detail::WorkBase< WorkSSL >::close ( )
privateinherited

Definition at line 97 of file WorkBase.h.

◆ WorkBase< WorkSSL >

friend class WorkBase< WorkSSL >
friend

Definition at line 1 of file WorkSSL.h.

Member Data Documentation

◆ context_

HTTPClientSSLContext xrpl::detail::WorkSSL::context_
private

Definition at line 24 of file WorkSSL.h.

◆ stream_

StreamType xrpl::detail::WorkSSL::stream_
private

Definition at line 25 of file WorkSSL.h.

◆ host_

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

Definition at line 38 of file WorkBase.h.

◆ path_

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

Definition at line 39 of file WorkBase.h.

◆ port_

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

Definition at line 40 of file WorkBase.h.

◆ cb_

CallbackType xrpl::detail::WorkBase< WorkSSL >::cb_
protectedinherited

Definition at line 41 of file WorkBase.h.

◆ ios_

boost::asio::io_context& xrpl::detail::WorkBase< WorkSSL >::ios_
protectedinherited

Definition at line 42 of file WorkBase.h.

◆ strand_

boost::asio::strand<boost::asio::io_context::executor_type> xrpl::detail::WorkBase< WorkSSL >::strand_
protectedinherited

Definition at line 43 of file WorkBase.h.

◆ resolver_

ResolverType xrpl::detail::WorkBase< WorkSSL >::resolver_
protectedinherited

Definition at line 44 of file WorkBase.h.

◆ socket_

SocketType xrpl::detail::WorkBase< WorkSSL >::socket_
protectedinherited

Definition at line 45 of file WorkBase.h.

◆ req_

RequestType xrpl::detail::WorkBase< WorkSSL >::req_
protectedinherited

Definition at line 46 of file WorkBase.h.

◆ res_

ResponseType xrpl::detail::WorkBase< WorkSSL >::res_
protectedinherited

Definition at line 47 of file WorkBase.h.

◆ readBuf_

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

Definition at line 48 of file WorkBase.h.

◆ lastEndpoint_

EndpointType xrpl::detail::WorkBase< WorkSSL >::lastEndpoint_
protectedinherited

Definition at line 49 of file WorkBase.h.

◆ lastStatus_

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

Definition at line 50 of file WorkBase.h.

◆ Impl

friend xrpl::detail::WorkBase< WorkSSL >::WorkSSL
privateinherited

Definition at line 99 of file WorkBase.h.