OpenDaVINCI  4.15.3
POSIXUDPSender.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_WRAPPER_POSIX_POSIXUDPSENDER_H_
21 #define OPENDAVINCI_CORE_WRAPPER_POSIX_POSIXUDPSENDER_H_
22 
23 #include <netinet/in.h>
24 #include <sys/socket.h>
25 
26 #include <memory>
27 #include <string>
28 
32 
33 namespace odcore { namespace wrapper { class Mutex; } }
34 namespace odcore { namespace wrapper { template <odcore::wrapper::NetworkLibraryProducts product> class UDPFactoryWorker; } }
35 
36 namespace odcore {
37  namespace wrapper {
38  namespace POSIX {
39 
40  using namespace std;
41 
48  private:
49  enum {
50  MAX_UDP_PACKET_SIZE = 65507
51  };
52 
53  private:
55 
62  POSIXUDPSender(const string &address, const uint32_t &port);
63 
64  private:
71 
77  POSIXUDPSender& operator=(const POSIXUDPSender &);
78 
79  public:
80  virtual ~POSIXUDPSender();
81 
82  virtual void send(const string &data) const;
83 
84  virtual uint16_t getPort() const;
85 
86  private:
87  uint16_t m_sendingUDPPort;
88  struct sockaddr_in m_address;
89  int32_t m_fd;
90 
91  mutable unique_ptr<Mutex> m_socketMutex;
92  };
93 
94  }
95  }
96 } // odcore::wrapper::POSIX
97 
98 #endif /*OPENDAVINCI_CORE_WRAPPER_POSIX_POSIXUDPSENDER_H_*/
Definition: UDPSender.h:60
Definition: POSIXUDPSender.h:47
Definition: NetworkLibraryProducts.h:28
Definition: POSIXUDPReceiver.h:36