ShmemInst.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef OPENDDS_SHMEMINST_H
00009 #define OPENDDS_SHMEMINST_H
00010 
00011 #include "Shmem_Export.h"
00012 #include "ShmemTransport.h"
00013 
00014 #include "dds/DCPS/transport/framework/TransportInst.h"
00015 
00016 namespace OpenDDS {
00017 namespace DCPS {
00018 
00019 class OpenDDS_Shmem_Export ShmemInst : public TransportInst {
00020 public:
00021 
00022   virtual int load(ACE_Configuration_Heap& cf,
00023                    ACE_Configuration_Section_Key& sect);
00024 
00025   virtual OPENDDS_STRING dump_to_str();
00026 
00027   /// Size (in bytes) of the single shared-memory pool allocated by this
00028   /// transport instance.  Defaults to 16 megabytes.
00029   size_t pool_size_;
00030 
00031   /// Size (in bytes) of the control area allocated for each data link.
00032   /// This allocation comes out of the shared-memory pool defined by pool_size_.
00033   /// Defaults to 4 kilobytes.
00034   size_t datalink_control_size_;
00035 
00036   bool is_reliable() const { return true; }
00037 
00038   virtual size_t populate_locator(OpenDDS::DCPS::TransportLocator& trans_info) const;
00039 
00040   const std::string& hostname() const { return hostname_; }
00041   const std::string& poolname() const { return poolname_; }
00042 
00043 private:
00044   friend class ShmemType;
00045   explicit ShmemInst(const std::string& name);
00046 
00047   ShmemTransport* new_impl(const TransportInst_rch& inst);
00048   std::string hostname_;
00049   std::string poolname_;
00050 };
00051 
00052 } // namespace DCPS
00053 } // namespace OpenDDS
00054 
00055 #endif  /* OPENDDS_SHMEMINST_H */

Generated on Fri Feb 12 20:05:26 2016 for OpenDDS by  doxygen 1.4.7