18 #ifndef INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP 19 #define INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP 21 #include <RCF/BsdClientTransport.hpp> 22 #include <RCF/Export.hpp> 23 #include <RCF/IpClientTransport.hpp> 27 class RCF_EXPORT TcpClientTransport :
28 public BsdClientTransport,
29 public IpClientTransport
32 TcpClientTransport(
const TcpClientTransport &rhs);
33 TcpClientTransport(
const IpAddress &remoteAddr);
34 TcpClientTransport(
const std::string & ip,
int port);
36 TcpClientTransport(TcpSocketPtr socketPtr);
38 ~TcpClientTransport();
45 ClientTransportCallback &clientStub,
46 unsigned int timeoutMs);
48 void implConnectAsync(
49 ClientTransportCallback &clientStub,
50 unsigned int timeoutMs);
55 void setRemoteAddr(
const IpAddress &remoteAddr);
56 IpAddress getRemoteAddr()
const;
59 bool isAssociatedWithIoService();
60 void associateWithIoService(AsioIoService & ioService);
64 static void doDnsLookup(
66 unsigned int timeoutMs,
67 OverlappedAmiPtr overlappedPtr,
70 void onDnsLookupCompleted(
71 unsigned int timeoutMs,
76 void setupSocket(Exception & e);
78 friend class HttpFrameFilter;
81 IpAddress mServerAddr;
85 IpAddress mConnectionAddr;
90 #endif // ! INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:117
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:43
Definition: AmiIoHandler.hpp:23
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:33