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
43#include "core/socket/stream/legacy/SocketConnector.h"
44#include "core/socket/stream/SocketConnector.hpp"
47#ifndef DOXYGEN_SHOULD_SKIP_THIS
53 template <
typename PhysicalClientSocket,
typename Config>
56 const std::function<
void(SocketConnection*)>& onConnect,
57 const std::function<
void(SocketConnection*)>& onConnected,
58 const std::function<
void(SocketConnection*)>& onDisconnect,
59 const std::function<
void(
const SocketAddress&, core::socket::
State)>& onStatus,
60 const std::shared_ptr<Config>& config)
64 [socketContextFactory, onConnected](SocketConnection* socketConnection) {
65 onConnected(socketConnection);
67 socketConnection->connectSocketContext(socketContextFactory);
74 template <
typename PhysicalSocketServer,
typename Config>
79 template <
typename PhysicalClientSocket,
typename Config>
virtual bool onSignal(int sig)=0
Config & getConfig() const
std::shared_ptr< Config > config
Socket(const std::string &name)
SocketAddress remoteAddress
void onReceivedFromPeer(std::size_t available) final
bool streamToPeer(core::pipe::Source *source) final
SocketConnectionT(PhysicalSocket &&physicalSocket, const std::function< void()> &onDisconnectm, const std::shared_ptr< Config > &config)
std::size_t getTotalSent() const override
std::shared_ptr< Config > config
void shutdownWrite(bool forceClose) final
void doWriteShutdown(const std::function< void()> &onShutdown) override
void writeTimeout() final
const SocketAddress & getRemoteAddress() const final
void sendToPeer(const char *chunk, std::size_t chunkLen) final
std::function< void()> onDisconnect
void setTimeout(const utils::Timeval &timeout) final
PhysicalSocket physicalSocket
void onReadError(int errnum)
bool onSignal(int signum) final
std::size_t readFromPeer(char *chunk, std::size_t chunkLen) final
std::size_t getTotalProcessed() const override
SocketAddress localAddress
Config & getConfig() const
std::size_t getTotalRead() const override
void unobservedEvent() final
void onWriteError(int errnum)
~SocketConnectionT() override
void shutdownRead() final
const SocketAddress & getLocalAddress() const final
std::size_t getTotalQueued() const override
std::string connectionName
core::socket::stream::SocketContext * socketContext
void onReadError(int errnum) override
void onWriteError(int errnum) override
void readFromPeer(std::size_t available)
SocketConnection(PhysicalSocket &&physicalSocket, const std::function< void(SocketConnection *)> &onDisconnect, const std::shared_ptr< Config > &config)
SocketConnector(const std::shared_ptr< core::socket::stream::SocketContextFactory > &socketContextFactory, const std::function< void(SocketConnection *)> &onConnect, const std::function< void(SocketConnection *)> &onConnected, const std::function< void(SocketConnection *)> &onDisconnect, const std::function< void(const SocketAddress &, core::socket::State)> &onStatus, const std::shared_ptr< Config > &config)
SocketConnector(const SocketConnector &socketConnector)
void useNextSocketAddress() override
PreserveErrno(int newErrno=errno)
SocketAddress getRemoteSocketAddress(PhysicalSocket &physicalSocket, Config &config)
SocketAddress getLocalSocketAddress(PhysicalSocket &physicalSocket, Config &config)
std::string sigabbrev_np(int sig)