OpenDDS  Snapshot(2023/04/28-20:55)
MulticastSessionFactory.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_MULTICASTSESSIONFACTORY_H
9 #define OPENDDS_DCPS_TRANSPORT_MULTICAST_MULTICASTSESSIONFACTORY_H
10 
11 #include "Multicast_Export.h"
12 
13 #include "MulticastTypes.h"
14 
15 #include "ace/Synch_Traits.h"
16 
17 #include "dds/DCPS/RcObject.h"
18 #include "dds/DCPS/RcHandle_T.h"
20 
22 class ACE_Reactor;
24 
26 
27 namespace OpenDDS {
28 namespace DCPS {
29 
30 class MulticastDataLink;
31 class MulticastSession;
32 typedef RcHandle<MulticastSession> MulticastSession_rch;
33 
35  : public virtual RcObject {
36 public:
37  virtual ~MulticastSessionFactory();
38 
39  virtual int requires_send_buffer() const = 0;
40 
41  virtual MulticastSession_rch create(RcHandle<ReactorInterceptor> interceptor,
42  MulticastDataLink* link,
43  MulticastPeer remote_peer) = 0;
44 };
45 
46 } // namespace DCPS
47 } // namespace OpenDDS
48 
50 
51 #endif /* DCPS_MULTICASTSESSIONFACTORY_H */
#define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INT64 MulticastPeer
#define OpenDDS_Multicast_Export
RcHandle< MulticastSession > MulticastSession_rch
#define ACE_END_VERSIONED_NAMESPACE_DECL
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28