OpenDDS  Snapshot(2023/04/28-20:55)
ShmemSendStrategy.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_SHMEM_SHMEMSENDSTRATEGY_H
9 #define OPENDDS_DCPS_TRANSPORT_SHMEM_SHMEMSENDSTRATEGY_H
10 
11 #include "Shmem_Export.h"
12 
14 
15 #include "ace/OS_NS_Thread.h"
16 
17 #include <string>
18 
20 
21 namespace OpenDDS {
22 namespace DCPS {
23 
24 class ShmemDataLink;
25 class ShmemInst;
26 struct ShmemData;
27 typedef RcHandle<ShmemInst> ShmemInst_rch;
28 
30  : public TransportSendStrategy {
31 public:
33 
34  virtual bool start_i();
35  virtual void stop_i();
36 
37 protected:
38  virtual ssize_t send_bytes_i(const iovec iov[], int n);
39 
40 private:
42  std::string bound_name_;
43  ACE_sema_t peer_semaphore_;
45  const size_t datalink_control_size_;
46 };
47 
48 } // namespace DCPS
49 } // namespace OpenDDS
50 
52 
53 #endif /* OPENDDS_SHMEMSENDSTRATEGY_H */
RcHandle< ShmemInst > ShmemInst_rch
Definition: ShmemInst_rch.h:18
int ssize_t
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
#define OpenDDS_Shmem_Export
Definition: Shmem_Export.h:25