SNode.C
Loading...
Searching...
No Matches
web::http::client::Client< SocketClientT > Class Template Reference

#include <Client.h>

Inheritance diagram for web::http::client::Client< SocketClientT >:
Collaboration diagram for web::http::client::Client< SocketClientT >:

Public Types

using MasterRequest = web::http::client::MasterRequest
 
using Request = web::http::client::Request
 
using Response = web::http::client::Response
 
using SocketConnection = typename Super::SocketConnection
 
using SocketAddress = typename Super::SocketAddress
 

Public Member Functions

 Client (const std::string &name, const std::function< void(SocketConnection *)> &onConnect, const std::function< void(SocketConnection *)> &onConnected, const std::function< void(SocketConnection *)> &onDisconnect, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpConnected, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpDisconnected)
 
 Client (const std::function< void(SocketConnection *)> &onConnect, const std::function< void(SocketConnection *)> &onConnected, const std::function< void(SocketConnection *)> &onDisconnect, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpConnected, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpDisconnected)
 
 Client (const std::string &name, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpConnected, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpDisconnected)
 
 Client (std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpConnected, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpDisconnected)
 
void setPipelinedRequests (bool pipelinedRequests)
 

Private Types

using Super = SocketClientT< web::http::client::SocketContextFactory, std::function< void(const std::shared_ptr< MasterRequest > &)>, std::function< void(const std::shared_ptr< MasterRequest > &)>, std::function< net::config::ConfigInstance &()> >
 

Detailed Description

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
class web::http::client::Client< SocketClientT >

Definition at line 59 of file Client.h.

Member Typedef Documentation

◆ MasterRequest

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::MasterRequest = web::http::client::MasterRequest

Definition at line 65 of file Client.h.

◆ Request

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::Request = web::http::client::Request

Definition at line 66 of file Client.h.

◆ Response

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::Response = web::http::client::Response

Definition at line 67 of file Client.h.

◆ SocketAddress

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::SocketAddress = typename Super::SocketAddress

Definition at line 77 of file Client.h.

◆ SocketConnection

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::SocketConnection = typename Super::SocketConnection

Definition at line 76 of file Client.h.

◆ Super

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
using web::http::client::Client< SocketClientT >::Super = SocketClientT<web::http::client::SocketContextFactory, std::function<void(const std::shared_ptr<MasterRequest>&)>, std::function<void(const std::shared_ptr<MasterRequest>&)>, std::function<net::config::ConfigInstance&()> >
private

Definition at line 70 of file Client.h.

Constructor & Destructor Documentation

◆ Client() [1/4]

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
web::http::client::Client< SocketClientT >::Client ( const std::string &  name,
const std::function< void(SocketConnection *)> &  onConnect,
const std::function< void(SocketConnection *)> &  onConnected,
const std::function< void(SocketConnection *)> &  onDisconnect,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpConnected,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpDisconnected 
)
inline

Definition at line 79 of file Client.h.

85 : Super(name,
86 onConnect,
87 onConnected,
88 onDisconnect,
89 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpConnected),
90 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpDisconnected),
91 [this]() -> net::config::ConfigInstance& {
92 return Super::getConfig();
93 }) {
94 Super::setOnConnected([socketContextFactory = Super::getSocketContextFactory(), onConnect](SocketConnection* socketConnection) {
95 socketContextFactory->setHostHeader(socketConnection->getConfig().Remote::getSocketAddress().toString(false));
96 });
97 }
SocketClientT< web::http::client::SocketContextFactory, std::function< void(const std::shared_ptr< MasterRequest > &)>, std::function< void(const std::shared_ptr< MasterRequest > &)>, std::function< net::config::ConfigInstance &()> > Super
Definition Client.h:73
typename Super::SocketConnection SocketConnection
Definition Client.h:76

◆ Client() [2/4]

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
web::http::client::Client< SocketClientT >::Client ( const std::function< void(SocketConnection *)> &  onConnect,
const std::function< void(SocketConnection *)> &  onConnected,
const std::function< void(SocketConnection *)> &  onDisconnect,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpConnected,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpDisconnected 
)
inline

Definition at line 99 of file Client.h.

104 : Client("",
105 onConnect,
106 onConnected,
107 onDisconnect,
108 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpConnected),
109 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpDisconnected)) {
110 }
Client(const std::string &name, const std::function< void(SocketConnection *)> &onConnect, const std::function< void(SocketConnection *)> &onConnected, const std::function< void(SocketConnection *)> &onDisconnect, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpConnected, std::function< void(const std::shared_ptr< MasterRequest > &)> &&onHttpDisconnected)
Definition Client.h:79

Referenced by main().

Here is the caller graph for this function:

◆ Client() [3/4]

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
web::http::client::Client< SocketClientT >::Client ( const std::string &  name,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpConnected,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpDisconnected 
)
inline

Definition at line 112 of file Client.h.

115 : Super(name,
116 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpConnected),
117 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpDisconnected),
118 [this]() -> net::config::ConfigInstance& {
119 return Super::getConfig();
120 }) {
121 Super::setOnConnect([socketContextFactory = Super::getSocketContextFactory()](SocketConnection* socketConnection) {
122 socketContextFactory->setHostHeader(socketConnection->getConfig().Remote::getSocketAddress().toString(false));
123 });
124 }

Referenced by main().

Here is the caller graph for this function:

◆ Client() [4/4]

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
web::http::client::Client< SocketClientT >::Client ( std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpConnected,
std::function< void(const std::shared_ptr< MasterRequest > &)> &&  onHttpDisconnected 
)
inline

Definition at line 126 of file Client.h.

128 : Client("",
129 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpConnected),
130 std::forward<std::function<void(const std::shared_ptr<MasterRequest>&)>>(onHttpDisconnected)) {
131 }

Member Function Documentation

◆ setPipelinedRequests()

template<template< typename SocketContextFactoryT, typename... Args > typename SocketClientT>
void web::http::client::Client< SocketClientT >::setPipelinedRequests ( bool  pipelinedRequests)
inline

Definition at line 133 of file Client.h.

133 {
134 Super::getSocketContextFactory()->setPipelinedRequests(pipelinedRequests);
135 }

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