OpenDDS  Snapshot(2023/04/28-20:55)
MulticastReceiveStrategy.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DCPS_TRANSPORT_MULTICAST_MULTICASTRECEIVESTRATEGY_H
9 #define OPENDDS_DCPS_TRANSPORT_MULTICAST_MULTICASTRECEIVESTRATEGY_H
10 
11 #include "Multicast_Export.h"
12 
15 
17 
18 namespace OpenDDS {
19 namespace DCPS {
20 
21 class MulticastDataLink;
22 
24  : public TransportReceiveStrategy<>,
25  public virtual RcEventHandler
26 {
27 public:
29 
30  virtual ACE_HANDLE get_handle() const;
31  virtual int handle_input(ACE_HANDLE fd);
32 
33 protected:
34  virtual ssize_t receive_bytes(iovec iov[],
35  int n,
36  ACE_INET_Addr& remote_address,
37  ACE_HANDLE fd,
38  bool& stop);
39 
40  virtual bool check_header(const TransportHeader& header);
41  virtual bool check_header(const DataSampleHeader& header);
42 
43  virtual void deliver_sample(ReceivedDataSample& sample,
44  const ACE_INET_Addr& remote_address);
45 
46  virtual int start_i();
47  virtual void stop_i();
48 
49  virtual bool reassemble(ReceivedDataSample& data);
50 
51 private:
53 };
54 
55 } // namespace DCPS
56 } // namespace OpenDDS
57 
59 
60 #endif /* DCPS_MULTICASTRECEIVESTRATEGY_H */
#define OpenDDS_Multicast_Export
int ssize_t
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
Definition: CHANGELOG.txt:8
Holds a data sample received by the transport.
Defines class that represents a transport packet header.
ACE_HANDLE get_handle(void)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28