19 #ifndef INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP 20 #define INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP 22 #include <RCF/BsdClientTransport.hpp> 23 #include <RCF/Export.hpp> 24 #include <RCF/IpClientTransport.hpp> 28 class RCF_EXPORT TcpClientTransport :
29 public BsdClientTransport,
30 public IpClientTransport
33 TcpClientTransport(
const TcpClientTransport &rhs);
34 TcpClientTransport(
const IpAddress &remoteAddr);
35 TcpClientTransport(
const std::string & ip,
int port);
37 TcpClientTransport(TcpSocketPtr socketPtr);
39 ~TcpClientTransport();
46 ClientTransportCallback &clientStub,
47 unsigned int timeoutMs);
49 void implConnectAsync(
50 ClientTransportCallback &clientStub,
51 unsigned int timeoutMs);
56 void setRemoteAddr(
const IpAddress &remoteAddr);
57 IpAddress getRemoteAddr()
const;
60 bool isAssociatedWithIoService();
61 void associateWithIoService(AsioIoService & ioService);
65 static void doDnsLookup(
67 unsigned int timeoutMs,
68 OverlappedAmiPtr overlappedPtr,
71 void onDnsLookupCompleted(
72 unsigned int timeoutMs,
77 void setupSocket(Exception & e);
79 friend class HttpFrameFilter;
82 IpAddress mServerAddr;
86 IpAddress mConnectionAddr;
91 #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:24
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:34