ACQ400_XRM (xrmIoc)
Loading...
Searching...
No Matches
Multicast.h
1/*
2 * Multicast.h
3 *
4 * Created on: 19 Sep 2019
5 * Author: pgm
6 */
7
8#ifndef MULTICAST_H_
9#define MULTICAST_H_
10
11class MultiCast {
12
13protected:
14 static const char* multicast_if;
15public:
16 virtual ~MultiCast() {}
17
18 virtual int sendto(const void* message, int len) = 0;
19 virtual int recvfrom(void* message, int len) = 0;
20
21 enum MC { MC_SENDER, MC_RECEIVER };
22 static MultiCast& factory(const char* group, int port, MC mode);
23 static void set_IP_MULTICAST_IF(const char* addr) {
24 multicast_if = addr;
25 }
26};
27
28class WrsCast: public MultiCast {
29public:
30 virtual ~WrsCast() {}
31
32 virtual int sendto(const void* message, int len) = 0;
33 virtual int recvfrom(void* message, int len) = 0;
34
35 static MultiCast& factory(const char* group, int port, MC mode);
36};
37
38typedef MultiCast& MC_FACTORY(const char* group, int port, MultiCast::MC mode);
39
40
41#endif /* MULTICAST_H_ */
Definition Multicast.h:11
Definition Multicast.h:28