2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21#include "core/socket/stream/legacy/SocketConnector.h"
22#include "core/socket/stream/SocketConnector.hpp"
25#ifndef DOXYGEN_SHOULD_SKIP_THIS
29namespace core::socket::
stream::legacy {
31 template <
typename PhysicalClientSocket,
typename Config>
33 const std::shared_ptr<SocketContextFactory>& socketContextFactory,
34 const std::function<
void(SocketConnection*)>& onConnect,
35 const std::function<
void(SocketConnection*)>& onConnected,
36 const std::function<
void(SocketConnection*)>& onDisconnect,
37 const std::function<
void(
const SocketAddress&, core::socket::State)>& onStatus,
38 const std::shared_ptr<Config>& config)
42 [socketContextFactory, onConnected](SocketConnection* socketConnection) {
43 onConnected(socketConnection);
45 socketConnection->connectSocketContext(socketContextFactory);
52 template <
typename PhysicalSocketServer,
typename Config>
57 template <
typename PhysicalClientSocket,
typename Config>
Config & getConfig() const
std::shared_ptr< Config > config
Socket(const std::string &name)
SocketAddress localAddress
SocketAddress remoteAddress
void unobservedEvent() final
void onReadError(int errnum)
void shutdownRead() final
void onReceivedFromPeer(std::size_t available) final
void onWriteError(int errnum)
void setTimeout(const utils::Timeval &timeout) final
std::size_t readFromPeer(char *chunk, std::size_t chunkLen) final
bool onSignal(int signum) final
const SocketAddress & getRemoteAddress() const final
PhysicalSocket physicalSocket
void doWriteShutdown(const std::function< void()> &onShutdown) override
void shutdownWrite(bool forceClose) final
void sendToPeer(const char *chunk, std::size_t chunkLen) final
const SocketAddress & getLocalAddress() const final
void writeTimeout() final
~SocketConnectionT() override
void disconnectCurrentSocketContext()
SocketConnection(const std::string &instanceName, PhysicalSocket &&physicalSocket, const std::function< void(SocketConnection *)> &onDisconnect, const std::string &configuredServer, const SocketAddress &localAddress, const SocketAddress &remoteAddress, const utils::Timeval &readTimeout, const utils::Timeval &writeTimeout, std::size_t readBlockSize, std::size_t writeBlockSize, const utils::Timeval &terminateTimeout)
SocketConnector(const SocketConnector &socketConnector)
void useNextSocketAddress() override