2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef CORE_SOCKET_SOCKETADDRESS_H
43#define CORE_SOCKET_SOCKETADDRESS_H
45#include "core/socket/State.h"
47#ifndef DOXYGEN_SHOULD_SKIP_THIS
55namespace core::socket {
61 using Super = std::runtime_error;
78 virtual std::string
toString(
bool expanded =
true)
const = 0;
79 virtual std::string
getEndpoint(
const std::string_view& format = {})
const;
static void atNextTick(const std::function< void(void)> &callBack)
BadSocketAddress(const State &state, const std::string &errorMessage, int errnum)
~BadSocketAddress() override
virtual std::string toString(bool expanded=true) const =0
virtual std::string getEndpoint(const std::string_view &format={}) const
const std::string & getConnectionName() const
virtual const core::socket::SocketAddress & getRemoteAddress() const =0
SocketConnection * getSocketConnection() const
SocketContext(core::socket::stream::SocketConnection *socketConnection)
void shutdownWrite(bool forceClose=false)
std::string header(const std::string &field)
bool initiate(const std::shared_ptr< Request > &request)
void setMasterRequest(const std::shared_ptr< Request > &masterRequest)
void deliverResponse(const std::shared_ptr< Request > &request, const std::shared_ptr< Response > &response)
void deliverResponseParseError(const std::shared_ptr< Request > &request, const std::string &message)
ResponseParser(core::socket::stream::SocketContext *socketContext, const std::function< void()> &onResponseStart, const std::function< void(Response &&)> &onResponseParsed, const std::function< void(int, const std::string &)> &onResponseParseError)
Response && getResponse()
ConnectionState connectionState
SocketContext(core::socket::stream::SocketConnection *socketConnection, const std::function< void(const std::shared_ptr< Request > &)> &onRequestBegin, const std::function< void(const std::shared_ptr< Request > &)> &onRequestEnd, bool pipelinedRequests)
void requestPrepared(Request &&request)
std::list< Request > deliveredRequests
void requestDelivered(Request &&request, bool success)
void deliverResponseParseError(int status, const std::string &reason)
void onDisconnected() override
std::shared_ptr< Request > currentRequest
std::size_t onReceivedFromPeer() override
std::function< void(const std::shared_ptr< Request > &)> onRequestBegin
void deliverResponse(Response &&response)
void onWriteError(int errnum) override
bool onSignal(int signum) override
~SocketContext() override
void initiateRequest(Request &request)
std::function< void(const std::shared_ptr< Request > &)> onRequestEnd
void onConnected() override
void responseDelivered(bool httpClose)
std::list< Request > pendingRequests
std::shared_ptr< Request > masterRequest
bool ciContains(const std::string &str1, const std::string &str2)