19 #ifndef INCLUDE_RCF_TCPSERVERTRANSPORT_HPP 20 #define INCLUDE_RCF_TCPSERVERTRANSPORT_HPP 22 #include <RCF/AsioServerTransport.hpp> 24 #include <RCF/IpAddress.hpp> 29 class TcpServerTransport;
31 class RCF_EXPORT TcpNetworkSession :
public AsioNetworkSession
36 TcpServerTransport &transport,
37 AsioIoService & ioService);
39 const RemoteAddress & implGetRemoteAddress();
41 void implRead(
char * buffer, std::size_t bufferLen);
43 void implWrite(
const std::vector<ByteBuffer> & buffers);
46 AsioNetworkSession &toBeNotified,
48 std::size_t bufferLen);
56 void implCloseAfterWrite();
58 bool implIsConnected();
62 void implTransferNativeFrom(ClientTransport & clientTransport);
64 int getNativeHandle();
68 AsioSocketPtr mSocketPtr;
73 class RCF_EXPORT TcpServerTransport :
74 public AsioServerTransport,
75 public IpServerTransport
78 TcpServerTransport(
const IpAddress & ipAddress);
79 TcpServerTransport(
const std::string & ip,
int port);
90 AsioNetworkSessionPtr implCreateNetworkSession();
93 void onServerStart(RcfServer & server);
96 const Endpoint &endpoint);
106 #endif // ! INCLUDE_RCF_TCPSERVERTRANSPORT_HPP
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:43
Definition: AmiIoHandler.hpp:24
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:34
std::shared_ptr< ServerTransport > ServerTransportPtr
Unique pointer wrapper for RCF::ServerTransport.
Definition: RcfFwd.hpp:46