19 #ifndef INCLUDE_RCF_UDPCLIENTTRANSPORT_HPP
20 #define INCLUDE_RCF_UDPCLIENTTRANSPORT_HPP
22 #include <RCF/ClientTransport.hpp>
23 #include <RCF/Export.hpp>
24 #include <RCF/IpAddress.hpp>
25 #include <RCF/IpClientTransport.hpp>
29 class UdpClientTransport;
31 typedef boost::shared_ptr<UdpClientTransport> UdpClientTransportPtr;
33 class RCF_EXPORT UdpClientTransport :
34 public ClientTransport,
35 public IpClientTransport
41 ReallocBufferPtr mReadVecPtr;
42 ReallocBufferPtr mWriteVecPtr;
47 UdpClientTransport(
const IpAddress & ipAddress);
48 UdpClientTransport(
const UdpClientTransport &rhs);
49 ~UdpClientTransport();
51 TransportType getTransportType();
53 ClientTransportAutoPtr
56 EndpointPtr getEndpointPtr()
const;
59 ClientTransportCallback &clientStub,
60 unsigned int timeoutMs);
62 void disconnect(
unsigned int timeoutMs);
65 ClientTransportCallback &clientStub,
66 const std::vector<ByteBuffer> &data,
67 unsigned int timeoutMs);
70 ClientTransportCallback &clientStub,
71 ByteBuffer &byteBuffer,
72 unsigned int timeoutMs);
77 void setTransportFilters(
78 const std::vector<FilterPtr> &filters);
80 void getTransportFilters(
81 std::vector<FilterPtr> &filters);
83 int getNativeHandle()
const;
85 void setTimer(boost::uint32_t timeoutMs, ClientTransportCallback *pClientStub);
87 bool supportsTransportFilters()
95 #endif // ! INCLUDE_RCF_UDPCLIENTTRANSPORT_HPP