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

Public Types

using request = boost::beast::http::request< boost::beast::http::empty_body >
 
using parser = boost::beast::http::basic_parser< false >
 

Public Member Functions

 SSLStream (Config const &config, boost::asio::io_service::strand &strand, beast::Journal j)
 
virtual ~SSLStream ()=default
 
boost::asio::ip::tcp::socket & getStream () override
 
bool connect (std::string &errorOut, std::string const &host, std::string const &port, boost::asio::yield_context &yield) override
 
void asyncWrite (request &req, boost::asio::yield_context &yield, boost::system::error_code &ec) override
 
void asyncRead (boost::beast::flat_buffer &buf, parser &p, boost::asio::yield_context &yield, boost::system::error_code &ec) override
 
void asyncReadSome (boost::beast::flat_buffer &buf, parser &p, boost::asio::yield_context &yield, boost::system::error_code &ec) override
 

Private Attributes

HTTPClientSSLContext ssl_ctx_
 
std::optional< boost::asio::ssl::stream< boost::asio::ip::tcp::socket > > stream_
 
boost::asio::io_service::strand & strand_
 

Detailed Description

Definition at line 74 of file HTTPStream.h.

Member Typedef Documentation

◆ request

using ripple::HTTPStream::request = boost::beast::http::request<boost::beast::http::empty_body>
inherited

Definition at line 38 of file HTTPStream.h.

◆ parser

using ripple::HTTPStream::parser = boost::beast::http::basic_parser<false>
inherited

Definition at line 39 of file HTTPStream.h.

Constructor & Destructor Documentation

◆ SSLStream()

ripple::SSLStream::SSLStream ( Config const &  config,
boost::asio::io_service::strand &  strand,
beast::Journal  j 
)

Definition at line 24 of file HTTPStream.cpp.

◆ ~SSLStream()

virtual ripple::SSLStream::~SSLStream ( )
virtualdefault

Member Function Documentation

◆ getStream()

boost::asio::ip::tcp::socket & ripple::SSLStream::getStream ( )
overridevirtual

Implements ripple::HTTPStream.

Definition at line 34 of file HTTPStream.cpp.

◆ connect()

bool ripple::SSLStream::connect ( std::string errorOut,
std::string const &  host,
std::string const &  port,
boost::asio::yield_context &  yield 
)
overridevirtual

Implements ripple::HTTPStream.

Definition at line 41 of file HTTPStream.cpp.

◆ asyncWrite()

void ripple::SSLStream::asyncWrite ( request req,
boost::asio::yield_context &  yield,
boost::system::error_code &  ec 
)
overridevirtual

Implements ripple::HTTPStream.

Definition at line 94 of file HTTPStream.cpp.

◆ asyncRead()

void ripple::SSLStream::asyncRead ( boost::beast::flat_buffer &  buf,
parser p,
boost::asio::yield_context &  yield,
boost::system::error_code &  ec 
)
overridevirtual

Implements ripple::HTTPStream.

Definition at line 103 of file HTTPStream.cpp.

◆ asyncReadSome()

void ripple::SSLStream::asyncReadSome ( boost::beast::flat_buffer &  buf,
parser p,
boost::asio::yield_context &  yield,
boost::system::error_code &  ec 
)
overridevirtual

Implements ripple::HTTPStream.

Definition at line 113 of file HTTPStream.cpp.

Member Data Documentation

◆ ssl_ctx_

HTTPClientSSLContext ripple::SSLStream::ssl_ctx_
private

Definition at line 115 of file HTTPStream.h.

◆ stream_

std::optional<boost::asio::ssl::stream<boost::asio::ip::tcp::socket> > ripple::SSLStream::stream_
private

Definition at line 117 of file HTTPStream.h.

◆ strand_

boost::asio::io_service::strand& ripple::SSLStream::strand_
private

Definition at line 118 of file HTTPStream.h.