TransportDefs.h File Reference

#include "dds/DCPS/Definitions.h"
#include "dds/DCPS/Cached_Allocator_With_Overflow_T.h"
#include "dds/DCPS/debug.h"
#include "ace/Basic_Types.h"
#include "ace/CDR_Base.h"
#include "ace/Synch_Traits.h"
#include "TransportDebug.h"
Include dependency graph for TransportDefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  OpenDDS
 

The Internal API and Implementation of OpenDDS.


namespace  OpenDDS::DCPS

Defines

#define RECEIVE_SYNCH   ACE_SYNCH_MUTEX
#define GET_CONFIG_VALUE(CF, SECT, KEY, VALUE, TYPE)
#define GET_CONFIG_STRING_VALUE(CF, SECT, KEY, VALUE)
#define GET_CONFIG_TSTRING_VALUE(CF, SECT, KEY, VALUE)
#define GET_CONFIG_DOUBLE_VALUE(CF, SECT, KEY, VALUE)
#define GET_CONFIG_TIME_VALUE(CF, SECT, KEY, VALUE)

Typedefs

typedef ACE_UINT64 OpenDDS::DCPS::DataLinkIdType
 Identifier type for DataLink objects.
typedef
Cached_Allocator_With_Overflow
< ACE_Message_Block,
RECEIVE_SYNCH > 
OpenDDS::DCPS::TransportMessageBlockAllocator
typedef
Cached_Allocator_With_Overflow
< ACE_Data_Block,
RECEIVE_SYNCH > 
OpenDDS::DCPS::TransportDataBlockAllocator
typedef
Cached_Allocator_With_Overflow
< char[RECEIVE_DATA_BUFFER_SIZE],
RECEIVE_SYNCH > 
OpenDDS::DCPS::TransportDataAllocator
typedef ACE_CDR::Long OpenDDS::DCPS::Priority

Enumerations

enum  OpenDDS::DCPS::SendControlStatus { OpenDDS::DCPS::SEND_CONTROL_ERROR, OpenDDS::DCPS::SEND_CONTROL_OK }
 

Return code type for send_control() operations.

More...
enum  OpenDDS::DCPS::AttachStatus { OpenDDS::DCPS::ATTACH_BAD_TRANSPORT, OpenDDS::DCPS::ATTACH_ERROR, OpenDDS::DCPS::ATTACH_INCOMPATIBLE_QOS, OpenDDS::DCPS::ATTACH_OK }
 

Return code type for attach_transport() operations.

More...
enum  { OpenDDS::DCPS::MAX_SEND_BLOCKS = 50 }
 

Controls the maximum size of the iovec array used for a send packet.

More...
enum  { OpenDDS::DCPS::RECEIVE_DATA_BUFFER_SIZE = 65536 }
 

Allocators used for transport receiving logic.

More...
enum  {
  OpenDDS::DCPS::DEFAULT_CONFIG_QUEUE_MESSAGES_PER_POOL = 10, OpenDDS::DCPS::DEFAULT_CONFIG_QUEUE_INITIAL_POOLS = 5, OpenDDS::DCPS::DEFAULT_CONFIG_MAX_PACKET_SIZE = 2147481599, OpenDDS::DCPS::DEFAULT_CONFIG_MAX_SAMPLES_PER_PACKET = 10,
  OpenDDS::DCPS::DEFAULT_CONFIG_OPTIMUM_PACKET_SIZE = 4096
}
 

Default TransportInst settings.

More...
enum  OpenDDS::DCPS::RemoveResult { OpenDDS::DCPS::REMOVE_ERROR, OpenDDS::DCPS::REMOVE_NOT_FOUND, OpenDDS::DCPS::REMOVE_FOUND, OpenDDS::DCPS::REMOVE_RELEASED }
 

used by DataLink::remove_sample(), TransportSendStrategy, *RemoveVisitor

More...

Variables

static const ACE_TCHAR OpenDDS::DCPS::TRANSPORT_SECTION_NAME [] = ACE_TEXT("transport")
static const ACE_TCHAR OpenDDS::DCPS::CONFIG_SECTION_NAME [] = ACE_TEXT("config")

Define Documentation

#define GET_CONFIG_DOUBLE_VALUE ( CF,
SECT,
KEY,
VALUE   ) 
Value:
{                                                                              \
    ACE_TString stringvalue;                                                     \
    if (CF.get_string_value (SECT, KEY, stringvalue) == -1)                      \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                            \
      {                                                                          \
        ACE_DEBUG ((LM_NOTICE,                                                   \
                    ACE_TEXT ("(%P|%t) NOTICE: \"%s\" is not defined in config ") \
                    ACE_TEXT ("file - using code default.\n"),                   \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else  if (stringvalue == ACE_TEXT(""))                                       \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                            \
      {                                                                          \
        ACE_DEBUG ((LM_WARNING,                                                  \
                    ACE_TEXT ("(%P|%t) WARNING: \"%s\" is defined in config ")   \
                    ACE_TEXT ("file, but is missing value - using code default.\n"), \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else                                                                         \
    {                                                                            \
      VALUE = ACE_OS::strtod (stringvalue.c_str (), 0);                          \
    }                                                                            \
  }

Definition at line 126 of file TransportDefs.h.

Referenced by OpenDDS::DCPS::TcpInst::load().

#define GET_CONFIG_STRING_VALUE ( CF,
SECT,
KEY,
VALUE   ) 
Value:
{                                                                              \
    ACE_TString stringvalue;                                                     \
    if (CF.get_string_value (SECT, KEY, stringvalue) == -1)                      \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                              \
      {                                                                          \
        ACE_DEBUG ((LM_NOTICE,                                                   \
                    ACE_TEXT ("(%P|%t) NOTICE: \"%s\" is not defined in config ") \
                    ACE_TEXT ("file - using code default.\n"),                   \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else if (stringvalue == ACE_TEXT(""))                                       \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                            \
      {                                                                          \
        ACE_DEBUG ((LM_WARNING,                                                  \
                    ACE_TEXT ("(%P|%t) WARNING: \"%s\" is defined in config ")   \
                    ACE_TEXT ("file, but is missing value - using code default.\n"), \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else                                                                         \
    {                                                                            \
      VALUE = ACE_TEXT_ALWAYS_CHAR(stringvalue.c_str());                         \
    }                                                                            \
  }

Macro to get the individual configuration value from ACE_Configuration_Heap as string type.

Definition at line 68 of file TransportDefs.h.

Referenced by OpenDDS::DCPS::TcpInst::load(), OpenDDS::DCPS::RtpsUdpInst::load(), OpenDDS::DCPS::MulticastInst::load(), and OpenDDS::DCPS::Service_Participant::load_common_configuration().

#define GET_CONFIG_TIME_VALUE ( CF,
SECT,
KEY,
VALUE   ) 
Value:
{                                                                              \
    long tv = -1;                                                                \
    GET_CONFIG_VALUE(CF, SECT, KEY, tv, long);                                   \
    if (tv != -1) VALUE.msec(tv);                                                \
  }

Macro to get the individual configuration value from ACE_Configuration_Heap as ACE_Time_Value using milliseconds.

Definition at line 158 of file TransportDefs.h.

Referenced by OpenDDS::DCPS::RtpsUdpInst::load(), and OpenDDS::DCPS::MulticastInst::load().

#define GET_CONFIG_TSTRING_VALUE ( CF,
SECT,
KEY,
VALUE   ) 
Value:
{                                                                              \
    ACE_TString stringvalue;                                                     \
    if (CF.get_string_value (SECT, KEY, stringvalue) == -1)                      \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                              \
      {                                                                          \
        ACE_DEBUG ((LM_NOTICE,                                                   \
                    ACE_TEXT ("(%P|%t) NOTICE: \"%s\" is not defined in config ") \
                    ACE_TEXT ("file - using code default.\n"),                   \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else if (stringvalue == ACE_TEXT(""))                                        \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                              \
      {                                                                          \
        ACE_DEBUG ((LM_WARNING,                                                  \
                    ACE_TEXT ("(%P|%t) WARNING: \"%s\" is defined in config ")   \
                    ACE_TEXT ("file, but is missing value - using code default.\n"), \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else                                                                         \
    {                                                                            \
      VALUE = stringvalue;                                                       \
    }                                                                            \
  }

Definition at line 97 of file TransportDefs.h.

Referenced by OpenDDS::DCPS::UdpInst::load(), OpenDDS::DCPS::RtpsUdpInst::load(), OpenDDS::DCPS::MulticastInst::load(), and OpenDDS::DCPS::Service_Participant::load_common_configuration().

#define GET_CONFIG_VALUE ( CF,
SECT,
KEY,
VALUE,
TYPE   ) 
Value:
{                                                                              \
    ACE_TString stringvalue;                                                     \
    if (CF.get_string_value (SECT, KEY, stringvalue) == -1)                      \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                            \
      {                                                                          \
        ACE_DEBUG ((LM_NOTICE,                                                   \
                    ACE_TEXT ("(%P|%t) NOTICE: \"%s\" is not defined in config ")\
                    ACE_TEXT ("file - using code default.\n"),                   \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else  if (stringvalue == ACE_TEXT(""))                                       \
    {                                                                            \
      if (OpenDDS::DCPS::Transport_debug_level > 0)                            \
      {                                                                          \
        ACE_DEBUG ((LM_WARNING,                                                  \
                    ACE_TEXT ("(%P|%t) WARNING: \"%s\" is defined in config ")   \
                    ACE_TEXT ("file, but is missing value - using code default.\n"), \
                    KEY));                                                       \
      }                                                                          \
    }                                                                            \
    else                                                                         \
    {                                                                            \
      VALUE = static_cast<TYPE>(ACE_OS::atoi (stringvalue.c_str ()));            \
    }                                                                            \
  }

Macro to get the individual configuration value from ACE_Configuration_Heap and cast to the specific type from integer.

Definition at line 37 of file TransportDefs.h.

Referenced by OpenDDS::DCPS::UdpInst::load(), OpenDDS::DCPS::TransportInst::load(), OpenDDS::DCPS::TcpInst::load(), OpenDDS::DCPS::ShmemInst::load(), OpenDDS::DCPS::RtpsUdpInst::load(), OpenDDS::DCPS::MulticastInst::load(), and OpenDDS::DCPS::Service_Participant::load_common_configuration().

#define RECEIVE_SYNCH   ACE_SYNCH_MUTEX

Guard the allocations for the underlying memory management of the receive processing with the following:

Notice that even we have only one thread for receiving per transport, the underly message blocks would interact with the threads from EndHistoricSamplesMissedSweeper which are different from the receiving threads. Therefore, we cannot use ACE_SYNCH_NULL_MUTEX here.

Definition at line 32 of file TransportDefs.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1