19 #ifndef INCLUDE_RCF_MULTICASTCLIENTTRANSPORT_HPP 20 #define INCLUDE_RCF_MULTICASTCLIENTTRANSPORT_HPP 26 #include <RCF/ClientTransport.hpp> 27 #include <RCF/Export.hpp> 28 #include <RCF/ThreadLibrary.hpp> 32 typedef std::shared_ptr< ClientTransportUniquePtr > ClientTransportUniquePtrPtr;
33 typedef std::vector< ClientTransportUniquePtrPtr > ClientTransportList;
36 class RCF_EXPORT MulticastClientTransport :
public ClientTransport
42 std::unique_ptr<ClientTransport> clone()
const;
46 void doSendOnTransports(
48 ClientTransportList& transportList,
49 const std::vector<ByteBuffer> & data,
50 unsigned int timeoutMs);
53 ClientTransportCallback & clientStub,
54 const std::vector<ByteBuffer> & data,
55 unsigned int timeoutMs);
58 ClientTransportCallback & clientStub,
59 ByteBuffer & byteBuffer,
60 unsigned int timeoutMs);
65 ClientTransportCallback & clientStub,
66 unsigned int timeoutMs);
69 unsigned int timeoutMs);
72 ClientTransportUniquePtr clientTransportUniquePtr);
74 void setTransportFilters(
75 const std::vector<FilterPtr> & filters);
77 void getTransportFilters(
78 std::vector<FilterPtr> & filters);
80 void setTimer(std::uint32_t timeoutMs, ClientTransportCallback *pClientStub);
82 void dropIdleTransports();
83 void pingAllTransports();
87 std::size_t getTransportCount();
91 void bringInNewTransports();
93 Mutex mClientTransportsMutex;
94 ClientTransportList mClientTransports;
95 ClientTransportList mClientTransportsTemp;
96 ClientTransportList mClientTransportsSending;
98 Mutex mAddedClientTransportsMutex;
99 ClientTransportList mAddedClientTransports;
106 #endif // ! INCLUDE_RCF_MULTICASTCLIENTTRANSPORT_HPP std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:118
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:44
Definition: AmiIoHandler.hpp:24
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:34