fipa_services
UDTTransport.hpp
Go to the documentation of this file.
1 #ifndef FIPA_SERVICES_TRANSPORTS_UDT_UDT_TRANSPORT_HPP
2 #define FIPA_SERVICES_TRANSPORTS_UDT_UDT_TRANSPORT_HPP
3 
4 #include <vector>
5 #include <boost/shared_ptr.hpp>
6 #include <base-logging/Logging.hpp>
7 #include <fipa_services/ErrorHandling.hpp>
8 
9 #include "../Transport.hpp"
10 #include "IncomingConnection.hpp"
11 
12 namespace fipa {
13 namespace services {
14 namespace transports {
15 namespace udt {
16 
17 extern const uint32_t MAX_MESSAGE_SIZE_BYTES;
18 
68 class UDTTransport : public Transport
69 {
70  static uint32_t msRefCount;
71 
72  UDTSOCKET mServerSocket;
73  IncomingConnections mClients;
74 
75  Address mAddress;
76 
77  size_t mBufferSize;
78  char* mpBuffer;
79 
84  bool accept();
85 
91  void listen(uint16_t port, uint32_t maxClients);
92 public:
93 
94  UDTTransport();
95  ~UDTTransport();
96 
97  void start();
98 
103  virtual void update(bool readAllMessages = true);
104 
110  Address getAddress(const std::string& interfaceName = "eth0") const;
111 
116 };
117 
118 } // end namespace udt
119 } // end namespace transports
120 } // end namespace services
121 } // end namespace fipa
122 #endif // FIPA_SERVICES_TRANSPORTS_UDT_UDT_TRANSPORT_HPP
virtual void update(bool readAllMessages=true)
Definition: UDTTransport.cpp:126
Connection management base class.
Definition: Transport.hpp:24
boost::shared_ptr< OutgoingConnection > Ptr
Definition: OutgoingConnection.hpp:18
void start()
Definition: UDTTransport.cpp:121
Communication address specified by IP, port, and protocol.
Definition: Address.hpp:15
virtual OutgoingConnection::Ptr establishOutgoingConnection(const Address &address)
Definition: UDTTransport.cpp:182
~UDTTransport()
Definition: UDTTransport.cpp:47
std::vector< IncomingConnection::Ptr > IncomingConnections
Definition: IncomingConnection.hpp:51
UDTTransport()
Definition: UDTTransport.cpp:23
const uint32_t MAX_MESSAGE_SIZE_BYTES
Definition: UDTTransport.hpp:17
Address getAddress(const std::string &interfaceName="eth0") const
Definition: UDTTransport.cpp:174
A UDTTransport provides a server that allows to establish udt connection to transfer fipa::acl::Lette...
Definition: UDTTransport.hpp:68
Definition: DistributedServiceDirectory.cpp:5