Compute Graph Framework SDK Reference  5.10
ChannelPacketTypes.hpp File Reference

Go to the source code of this file.

Classes

class  dw::framework::GenericData
 
struct  dw::framework::GenericDataReference
 
struct  dw::framework::ITypeInformation
 
struct  dw::framework::MetadataPayload
 
struct  dw::framework::packet_traits< PacketTID >
 
struct  dw::framework::parameter_traits< T >
 
struct  dw::framework::TypeInformation< T >
 

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_CHANNEL_GENERATE_ENUM(x)   x,
 
#define DW_CHANNEL_PACKET_TYPES_LIST(_s)
 
#define DWFRAMEWORK_DECLARE_PACKET_TYPE_POD(DATA_TYPE)
 
#define DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION(DATA_TYPE, SPECIMEN_TYPE, PACKET_TYPE_ID)
 

Typedefs

using dw::framework::ChannelPacketTypeID = uint32_t
 
using dw::framework::OnSetSyncAttrs = dw::core::Function< void(NvSciSyncAttrList)>
 

Enumerations

enum class  dw::framework::DWChannelPacketTypeID {
  dw::framework::DEFAULT = DWFRAMEWORK_PACKET_ID_DEFAULT ,
  dw::framework::NUM_TYPES
}
 
enum class  dw::framework::MetadataFlags : uint16_t {
  dw::framework::METADATA_ITERATION_COUNT = 1 << 0 ,
  dw::framework::METADATA_EPOCH_TIMESTAMP = 1 << 1 ,
  dw::framework::METADATA_VALIDITY_STATUS = 1 << 2 ,
  dw::framework::METADATA_TIMESTAMP = 1 << 3
}
 

Functions

 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (bool)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (float)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (int32_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (int64_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (uint32_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (uint64_t)
 
template<typename T >
static GenericDataReference dw::framework::make_specimen (typename parameter_traits< T >::SpecimenT *specimen)
 

Variables

constexpr uint32_t dw::framework::DWFRAMEWORK_MAX_INTERNAL_TYPES = 0x400
 
constexpr uint32_t dw::framework::DWFRAMEWORK_METADATA_PACKET_TYPE_ID_OFFSET = 0x80000000
 
constexpr ChannelPacketTypeID dw::framework::DWFRAMEWORK_PACKET_ID_DEFAULT = 0U
 

Class Documentation

◆ dw::framework::ChannelMetadata

struct dw::framework::ChannelMetadata
Class Members
dwTime_t epochTimestamp
uint32_t iterationCount
uint32_t producerId
uint32_t sequenceNum
dwTime_t timestamp
uint16_t validFields
dwValidityStatus validityStatus

◆ dw::framework::GenericDataReference

struct dw::framework::GenericDataReference
Collaboration diagram for dw::framework::GenericDataReference:
Class Members
GenericData data GenericData pointing to packet constructor parameters.
ChannelPacketTypeID packetTypeID The ID of the type of the endpoint.
shared_ptr< void > pCopy a shared pointer to packet constructor parameters.
OnSetSyncAttrs setSignalerAttributes lambda to set the signaler attributes of the endpoint.
OnSetSyncAttrs setWaiterAttributes lambda to set the waiter attributes of the endpoint.
size_t typeSize The size of the type of the endpoint.

◆ dw::framework::MetadataPayload

struct dw::framework::MetadataPayload
Collaboration diagram for dw::framework::MetadataPayload:
Class Members
GenericData data
ChannelMetadata header

◆ dw::framework::packet_traits

struct dw::framework::packet_traits

Macro Definition Documentation

◆ DW_CHANNEL_GENERATE_ENUM

#define DW_CHANNEL_GENERATE_ENUM (   x)    x,

Definition at line 207 of file ChannelPacketTypes.hpp.

◆ DW_CHANNEL_PACKET_TYPES_LIST

#define DW_CHANNEL_PACKET_TYPES_LIST (   _s)
Value:
_s(DW_LATENCY) \
_s(DW_LIDAR_DECODE_PACKET) \
_s(DW_LIDAR_PACKETS_ARRAY) \
_s(DW_TRACE_NODE_DATA) \
@ DW_PYRAMID_IMAGE
Definition: Types.hpp:129
@ DW_FEATURE_ARRAY
Definition: Types.hpp:74
@ DW_SENSOR_NODE_RAW_DATA
Definition: Types.hpp:145
@ DW_EGOMOTION_STATE_HANDLE
Definition: Types.hpp:68
@ DW_FEATURE_NCC_SCORES
Definition: Types.hpp:73
@ DW_IMAGE_HANDLE
Definition: Types.hpp:81
@ DW_CODEC_PACKET
Definition: Types.hpp:190
@ DW_FEATURE_HISTORY_ARRAY
Definition: Types.hpp:75
@ DW_POINT_CLOUD
Definition: Types.hpp:130
@ DW_SENSOR_SERVICE_RAW_DATA
Definition: Types.hpp:191

Definition at line 182 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD

#define DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (   DATA_TYPE)
Value:
namespace dw \
{ \
namespace framework \
{ \
template <> \
struct parameter_traits<DATA_TYPE> \
{ \
using SpecimenT = DATA_TYPE; \
static constexpr ChannelPacketTypeID PacketTID{DWFRAMEWORK_PACKET_ID_DEFAULT}; \
static constexpr bool IsDeclared{true}; \
}; \
} \
}
uint32_t ChannelPacketTypeID
constexpr ChannelPacketTypeID DWFRAMEWORK_PACKET_ID_DEFAULT
Definition: Buffer.hpp:40

Declares a data type to be treated as plain old data (POD) by dwframework channels.

Parameters
DATA_TYPE- the data type to be declared as POD.

Definition at line 343 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION

#define DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION (   DATA_TYPE,
  SPECIMEN_TYPE,
  PACKET_TYPE_ID 
)
Value:
namespace dw \
{ \
namespace framework \
{ \
template <> \
struct parameter_traits<DATA_TYPE> \
{ \
using SpecimenT = SPECIMEN_TYPE; \
static constexpr ChannelPacketTypeID PacketTID{static_cast<ChannelPacketTypeID>(PACKET_TYPE_ID)}; \
static constexpr bool IsDeclared{true}; \
}; \
template <> \
struct packet_traits<static_cast<ChannelPacketTypeID>(PACKET_TYPE_ID)> \
{ \
using PacketT = DATA_TYPE; \
}; \
} \
}

Define a mapping between the data type and the id under which the handling packet class will be registered.

Parameters
DATA_TYPE- the data type to register.
SPECIMEN_TYPE- the reference information for the data type to be passed to packet implementation.
PACKET_TYPE_ID- the id under which the handling packet class will be registered (should be convertible to ChannelPacketTypeID)
Note
this macro must be used at global namespace to ensure it will work properly.

Definition at line 319 of file ChannelPacketTypes.hpp.

Function Documentation

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [1/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( bool  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [2/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( float  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [3/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( int32_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [4/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( int64_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [5/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( uint32_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [6/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( uint64_t  )