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_SOCKETCONTEXTFACTORY_H
43#define CORE_SOCKET_SOCKETCONTEXTFACTORY_H
45namespace core::socket::
stream {
50#ifndef DOXYGEN_SHOULD_SKIP_THIS
54namespace core::socket::
stream {
core::socket::stream::SocketContext * create(core::socket::stream::SocketConnection *socketConnection) override
core::socket::stream::SocketContext * create(core::socket::stream::SocketConnection *socketConnection) override
bool onSignal(int signum) override
void onConnected() override
void onDisconnected() override
std::size_t onReceivedFromPeer() override
EchoSocketContext(core::socket::stream::SocketConnection *socketConnection, Role role)
void sendToPeer(const std::string &data) const
virtual void onReadError(int errnum)=0
virtual std::size_t onReceivedFromPeer()=0
virtual std::size_t readFromPeer(char *chunk, std::size_t chunklen) const =0
virtual void setTimeout(const utils::Timeval &timeout)=0
SocketContext(const SocketContext &)=delete
virtual void onWriteError(int errnum)=0
SocketContext(SocketContext &&)=delete
SocketContext & operator=(const SocketContext &)=delete
virtual void sendToPeer(const char *chunk, std::size_t chunkLen) const =0
virtual bool onSignal(int sig)=0
SocketContext & operator=(SocketContext &&)=delete
SocketContextFactory()=default
SocketContextFactory(SocketContextFactory &)=delete
SocketContextFactory & operator=(SocketContextFactory &&)=delete
SocketContextFactory(SocketContextFactory &&)=delete
virtual ~SocketContextFactory()
virtual core::socket::stream::SocketContext * create(core::socket::stream::SocketConnection *socketConnection)=0
SocketContextFactory & operator=(SocketContextFactory &)=delete
SocketConnection * getSocketConnection() const
virtual void switchSocketContext(SocketContext *newSocketContext)
SocketContext(core::socket::stream::SocketConnection *socketConnection)
std::size_t readFromPeer(char *chunk, std::size_t chunklen) const final
void onReadError(int errnum) override
virtual void onConnected()=0
void sendToPeer(const char *chunk, std::size_t chunkLen) const final
void shutdownWrite(bool forceClose=false)
void onWriteError(int errnum) override
bool streamToPeer(core::pipe::Source *source) const
core::socket::stream::SocketConnection * socketConnection
virtual void onDisconnected()=0
void setTimeout(const utils::Timeval &timeout) final