Compute Graph Framework SDK Reference  5.6
dw::framework Namespace Reference

Namespaces

namespace  semantic_parameter_types
 

Classes

class  Buffer
 
class  BufferBase
 
class  BufferCPU
 
class  BufferCUDA
 
struct  BufferProperties
 
class  ChannelConnector
 
class  ChannelFactory
 
class  ChannelNvSciPacketDefault
 
class  ChannelNvSciStreamParams
 
class  ChannelObject
 
class  ChannelPacket
 
class  ChannelPacketBase
 
class  ChannelPacketDefault
 
class  ChannelPacketDefaultBase
 
struct  ChannelPacketFingerprint
 
class  ChannelParams
 
class  ChannelSocketPacketBase
 
class  ChannelSocketParams
 
struct  ChannelTracePoint
 
struct  ChannelTraceProcessParam
 
class  ComputeGraph
 
class  ComputeGraphImpl
 
class  ContextParameterProvider
 A parameter provider for the dwContextHandle_t. More...
 
struct  EnumDescription
 
class  Exception
 
class  ExceptionSafeProcessNode
 
class  ExceptionSafeSensorNode
 
class  GenericData
 
struct  GenericDataReference
 
class  IAsyncResetable
 
class  IChannelDebugConsumer
 
class  IChannelDebugProducer
 
class  IChannelPacket
 
class  IChannelPacketFactory
 
class  IContainsPreShutdownAction
 
class  ISensorNode
 
class  ITypeBasedParameterProviderChild
 The additional interface a ParameterProvider can implement so it can be registered at a TypeBasedParameterProvider. More...
 
struct  ITypeInformation
 
class  JsonParameterProvider
 A parameter provider which retrieves parameter values from JSON data. More...
 
class  ManagedPortBase
 
class  ManagedPortInput
 
class  ManagedPortInputBase
 
class  ManagedPortOutput
 
class  ManagedPortOutputBase
 
class  Node
 
struct  NodeAllocationParams
 
class  NodeConcept
 The class only exists for documentation. More...
 
struct  packet_traits
 
struct  parameter_traits
 
class  ParameterCollectionDescriptor
 A collection of parameter descriptors. More...
 
class  ParameterDescriptor
 The description of a parameter. More...
 
class  ParameterDescriptorWithDefault
 The description of a parameter with a default value. More...
 
class  ParameterProvider
 The interface to access parameter values identified by name and/or (semantic) type. More...
 
class  Pass
 Pass is a runnable describes the metadata of a pass. More...
 
class  PassCollectionDescriptor
 A collection of pass descriptors. More...
 
class  PassDescriptor
 The description of a pass. More...
 
class  PassImpl
 PassImpl contains the function to invoke on run(). More...
 
class  Port
 
class  PortBase
 
class  PortCollectionDescriptor
 
class  PortDescriptor
 
class  PortInput
 
class  PortOutput
 
struct  RegisteredPort
 
class  RegisteredPortInput
 
class  RegisteredPortOutput
 
class  SensorNode
 
class  SimpleNode
 
class  SimpleNodeT
 
class  SimpleProcessNode
 
class  SimpleProcessNodeT
 
class  SimpleSensorNode
 
class  SimpleSensorNodeT
 
struct  SyncedPacketPayload
 
struct  SyncPortHelper
 
class  SyncPortHelperInput
 
class  SyncPortHelperOutput
 
class  TypeBasedParameterProvider
 A parameter provider which dispatches the retrieval of the parameter value to registered handlers which are selected based on the name, size, and optional array index of the parameter. More...
 
struct  TypeInformation
 

Typedefs

using BufferFlags = uint32_t
 
using ChannelOnRegisterTraceReader = dw::core::Function< ChannelTraceReadCallback(const char *channelID)>
 
using ChannelOnRegisterTraceWriter = dw::core::Function< ChannelTraceWriteCallback(const char *channelID)>
 
using ChannelPacketConstructor = dw::core::Function< std::unique_ptr< IChannelPacket >(GenericData dataSpecimen, dwContextHandle_t context)>
 
using ChannelPacketConstructorRegistration = std::pair< ChannelPacketConstructorSignature, ChannelPacketConstructor >
 
using ChannelPacketConstructorSignature = std::pair< ChannelPacketTypeID, ChannelType >
 
using ChannelPacketFactoryPtr = std::shared_ptr< IChannelPacketFactory >
 
using ChannelPacketTypeID = uint32_t
 
using ChannelParamStr = dw::core::FixedString< MAX_CHANNEL_PARAM_SIZE >
 
using ChannelTraceReadCallback = dw::core::Function< bool(ChannelTracePoint &)>
 
using ChannelTraceWriteCallback = dw::core::Function< void(ChannelTracePoint)>
 
using ChannelType = enum ChannelType :uint8_t { DW_CHANNEL_TYPE_SHMEM_LOCAL=0, DW_CHANNEL_TYPE_SHMEM_REMOTE=1, DW_CHANNEL_TYPE_EGLSTREAM=2, DW_CHANNEL_TYPE_SOCKET=3, DW_CHANNEL_TYPE_DDS=4, DW_CHANNEL_TYPE_NVSCI=5, }
 
using Connection = Connection { uint64_t srcNodeId
 
using CycleCountFetcher = dw::core::Function< uint32_t(void)>
 
using OnSetSyncAttrs = dw::core::Function< void(NvSciSyncAttrList)>
 
template<typename T >
using UniquePacketPtr = typename ManagedPortInput< T >::UniquePacketPtr
 

Enumerations

enum class  BufferBackendType : uint32_t {
  CPU = 0 ,
  CUDA = 1
}
 
enum class  ChannelConnectionType {
  CONNECTION_TYPE_NONE = 0 ,
  CONNECTION_TYPE_STATIC ,
  CONNECTION_TYPE_DYNAMIC
}
 
enum class  ChannelMode {
  FIFO ,
  MAILBOX ,
  SINGLETON
}
 
enum class  ChannelNvSciStreamEnabledComponents : uint32_t {
  COMPONENT_NONE = 0 ,
  COMPONENT_CPU = 1 << 0 ,
  COMPONENT_EGL = 1 << 1 ,
  COMPONENT_CUDA = 1 << 2 ,
  COMPONENT_PVA = 1 << 3 ,
  COMPONENT_DLA = 1 << 4 ,
  COMPONENT_NVMEDIA = 1 << 5
}
 
enum class  ChannelReach {
  REACH_NONE = 0 ,
  REACH_THREAD ,
  REACH_PROCESS ,
  REACH_VM ,
  REACH_CHIP
}
 
enum class  ChannelRole : uint8_t {
  DW_CHANNEL_ROLE_UNKNOWN = 0b00 ,
  DW_CHANNEL_ROLE_PRODUCER = 0b01 ,
  DW_CHANNEL_ROLE_CONSUMER = 0b10 ,
  DW_CHANNEL_ROLE_COMPOSITE = 0b11
}
 
enum class  ChannelTraceEventType {
  WAIT ,
  RECV ,
  RELEASE ,
  DROP ,
  GET ,
  SEND ,
  RETURN
}
 
enum class  ChannelTraceMode {
  DISABLED ,
  RECORD ,
  REPLAY
}
 
enum class  ComputeGraphTraversalOrder {
  TRAVERSAL_ORDER_BREADTH_FIRST = 0 ,
  TRAVERSAL_ORDER_DEPTH_FIRST
}
 
enum class  DWChannelPacketTypeID {
  DEFAULT = DWFRAMEWORK_PACKET_ID_DEFAULT ,
  NUM_TYPES
}
 
enum class  PortBinding : uint8_t {
  OPTIONAL = 0 ,
  REQUIRED = 1
}
 
enum  PortDirection : uint8_t {
  INPUT = 0 ,
  OUTPUT ,
  COUNT
}
 

Functions

bool BufferFlagsBackendEnabled (BufferFlags flags, BufferBackendType type)
 
void BufferFlagsEnableBackend (BufferFlags &flags, BufferBackendType type)
 
uint32_t ChannelTraceHashId (const char *id)
 
void ChannelTraceProcess (dw::core::span< ChannelTraceProcessParam > traces)
 
dwGraphErrorSignal convertToGraphErrorSignal (dwErrorSignal const &signal)
 
dwGraphHealthSignal convertToGraphHealthSignal (const dwHealthSignal &signal)
 
dwGraphHealthSignalArray convertToGraphHealthSignalArray (const dwHealthSignalArray &signalArray)
 
template<typename NodeT >
auto create (const ParameterProvider &provider) -> std::unique_ptr< NodeT >
 
template<typename NodeT >
NodeAllocationParams createAllocationParams ()
 
template<typename NodeT >
auto createConstructorArguments ()
 Create a tuple of constructor argument needed by the constructor of the passed node. More...
 
static Connection createInputOnly (uint64_t dstNodeId, uint8_t dstPortId, uint64_t channelId)
 
std::unique_ptr< NodecreateNode (const dw::core::StringView &className, ParameterProvider &provider)
 
static Connection createOutputOnly (uint64_t srcNodeId, uint8_t srcPortId, uint64_t channelId)
 
template<typename NodeT >
static ParameterCollectionDescriptor createParameterCollectionDescriptor ()
 Create a parameter collection descriptor for a give node. More...
 
template<typename NodeT >
static PassCollectionDescriptor createPassCollectionDescriptor ()
 Create a pass collection descriptor for a give node. More...
 
template<typename NodeT , PortDirection Direction, typename std::enable_if_t< Direction==PortDirection::INPUT, void > * = nullptr>
static PortCollectionDescriptor createPortCollectionDescriptor ()
 
template<typename T >
constexpr auto describeAbstractArrayParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, size_t arraySize)
 
template<typename T >
constexpr auto describeAbstractParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeArrayParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, size_t arraySize, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto describeArrayParameterWithDefault (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, std::array< T, ArraySize > defaultValue, const MemberPointers &&... memberPointers)
 
template<typename... Args>
constexpr auto describeConstructorArgument (const Args &&... args)
 
constexpr std::tuple describeConstructorArguments ()
 
template<typename Argument1T , typename Arg1 >
constexpr auto describeConstructorArguments (const Arg1 &&arg1)
 
template<typename Argument1T , typename Argument2T , typename Arg1 , typename Arg2 >
constexpr auto describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Arg1 , typename Arg2 , typename Arg3 >
constexpr auto describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
constexpr auto describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3, const Arg4 &&arg4)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Argument5T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
constexpr auto describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3, const Arg4 &&arg4, const Arg5 &&arg5)
 
template<typename EnumT >
constexpr auto describeEnumerator (dw::core::StringView const &&name, EnumT value)
 Describe an enumerator. More...
 
template<typename EnumT , typename... Args>
constexpr auto describeEnumeratorCollection (Args const &&... args)
 Describe the enumerators. More...
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeIndexParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename Node >
constexpr auto describeInputPorts ()
 
template<typename Node >
constexpr auto describeOutputPorts ()
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename NodeT >
constexpr auto describeParameters ()
 Get described parameters for the passed node. More...
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeParameterWithDefault (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, T defaultValue, const MemberPointers &&... memberPointers)
 
constexpr std::tuple< dw::core::StringView, dwProcessorType > describePass (dw::core::StringView const &&name, dwProcessorType processorType)
 
template<typename DependenciesT >
constexpr auto describePass (dw::core::StringView const &&name, dwProcessorType processorType, DependenciesT dependencies) -> std::tuple< dw::core::StringView, dwProcessorType, DependenciesT >
 
template<typename... Args>
constexpr auto describePassCollection (const Args &&... args)
 
template<typename... Args>
constexpr auto describePassDependencies (const Args &&... args) -> std::array< dw::core::StringView, sizeof...(Args)>
 
template<typename Node >
constexpr auto describePasses ()
 Get described passes for the passed node. More...
 
template<typename PortType >
constexpr auto describePort (dw::core::StringView typeName, dw::core::StringView name, dw::core::StringView comment)
 
template<typename PortType >
constexpr auto describePort (dw::core::StringView typeName, dw::core::StringView name, PortBinding binding=PortBinding::OPTIONAL, dw::core::StringView comment=""_sv)
 
template<typename PortType , size_t ArraySize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto describePortArray (dw::core::StringView typeName, dw::core::StringView name, dw::core::StringView comment)
 
template<typename PortType , size_t ArraySize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto describePortArray (dw::core::StringView typeName, dw::core::StringView name, PortBinding binding=PortBinding::OPTIONAL, dw::core::StringView comment=""_sv)
 
template<typename... Args>
constexpr auto describePortCollection (Args &&... args)
 
template<typename Node , PortDirection Direction, typename std::enable_if_t< Direction==PortDirection::INPUT, void > * = nullptr>
constexpr auto describePorts ()
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeUnnamedArrayParameter (dw::core::StringView const &&typeName, size_t arraySize, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto describeUnnamedParameter (dw::core::StringView const &&typeName, const MemberPointers &&... memberPointers)
 
template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr size_t descriptorIndex ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr bool descriptorPortArray ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr PortBinding descriptorPortBinding ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr dw::core::StringView descriptorPortComment ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr size_t descriptorPortSize ()
 
SyncedPacketPayloadextractSyncPacket (GenericData packet)
 
const PortCollectionDescriptorgetInputPorts (const dw::core::StringView &className)
 
dw::core::HeapVectorFixed< dw::core::StringView > getNodeNames ()
 
const PortCollectionDescriptorgetOutputPorts (const dw::core::StringView &className)
 
const ParameterCollectionDescriptorgetParameters (const dw::core::StringView &className)
 
const PassCollectionDescriptorgetPasses (const dw::core::StringView &className)
 
template<typename Node , size_t Index>
constexpr bool hasPassDependencies ()
 Check if a pass specifies explicit dependencies. More...
 
constexpr bool IsConsumer (ChannelRole role)
 
constexpr bool IsProducer (ChannelRole role)
 
template<typename Node >
constexpr bool isValidPass (dw::core::StringView identifier)
 Check if given string is a valid pass name. More...
 
template<typename Node >
constexpr bool isValidPass (std::size_t passID)
 Check if pass index is valid. More...
 
template<typename Node , PortDirection Direction>
constexpr bool isValidPort (std::size_t portID)
 
template<typename Node , PortDirection Direction>
constexpr bool isValidPort (StringView identifier)
 
template<typename T >
static GenericDataReference make_specimen (typename parameter_traits< T >::SpecimenT *specimen)
 
template<typename NodeT , class ConstructorArguments >
auto makeUniqueFromTuple (const ConstructorArguments &&constructorArguments) -> std::unique_ptr< NodeT >
 Instantiate a node using the passed constructor arguments. More...
 
template<typename EnumT >
auto mapEnumNameToValue (dw::core::StringView const &name) -> EnumT
 Get the enumerator value based on the name. More...
 
template<typename EnumT >
dw::core::StringView mapEnumValueToName (EnumT value)
 Get the enumerator name based on the value. More...
 
const char * nvSciGetErrorName (uint32_t error)
 
const char * nvSciGetEventName (uint32_t event)
 
constexpr ChannelNvSciStreamEnabledComponents operator& (ChannelNvSciStreamEnabledComponents a, ChannelNvSciStreamEnabledComponents b)
 
constexpr ChannelNvSciStreamEnabledComponents operator| (ChannelNvSciStreamEnabledComponents a, ChannelNvSciStreamEnabledComponents b)
 
template<typename NodeT >
constexpr std::size_t parameterSize ()
 Get the number of parameters for a given node. More...
 
template<typename... Others>
static void ParseAllChannelParameters (const ChannelParamStr &channelParams, Others &&... others)
 
template<typename T >
static T ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelNvSciStreamEnabledComponents ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelConnectionType ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelReach ParseChannelParameter (const ChannelParamStr &value)
 
template<>
int64_t ParseChannelParameter (const ChannelParamStr &value)
 
template<>
size_t ParseChannelParameter (const ChannelParamStr &value)
 
template<>
uint32_t ParseChannelParameter (const ChannelParamStr &value)
 
template<>
uint16_t ParseChannelParameter (const ChannelParamStr &value)
 
template<>
bool ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelRole ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelType ParseChannelParameter (const ChannelParamStr &value)
 
template<>
ChannelMode ParseChannelParameter (const ChannelParamStr &value)
 
template<size_t Size>
void ParseChannelParameter (const ChannelParamStr &value, dw::core::FixedString< Size > &result)
 
template<typename T , size_t N>
void ParseChannelParameter (const ChannelParamStr &value, dw::core::VectorFixed< T, N > &result)
 
template<typename T >
void ParseChannelParameter (const ChannelParamStr &value, T &result)
 
static void ParseChannelParameters (const ChannelParamStr &, const ChannelParamStr &)
 
template<typename T , typename... Others>
static void ParseChannelParameters (const ChannelParamStr &key, const ChannelParamStr &value, const char *staticKey, T &result, Others &&... others)
 
template<typename Node , size_t Index, typename std::enable_if_t< hasPassDependencies< Node, Index >(), void > * = nullptr>
constexpr auto passDependencies ()
 Get the dependencies of a pass. More...
 
template<typename Node >
constexpr size_t passIndex (dw::core::StringView identifier)
 Get the the pass index for a pass identified by name. More...
 
template<typename Node , size_t Index>
constexpr dw::core::StringView passName ()
 Get the name of a pass. More...
 
template<typename Node , size_t Index>
constexpr dwProcessorType passProcessorType ()
 Get the processor type of a pass. More...
 
template<typename Node >
constexpr std::size_t passSize ()
 Get the number of passes of the passed node. More...
 
template<typename NodeT , class ConstructorArguments , typename std::enable_if_t< std::tuple_size< ConstructorArguments >()==1, void > * = nullptr>
void populateParameters (ConstructorArguments &constructorArguments, const ParameterProvider &provider)
 Populate the constructor arguments using values from the parameter provider. More...
 
template<typename Node , PortDirection Direction>
constexpr size_t portArraySize (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr size_t portDescriptorIndex (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr std::size_t portDescriptorSize ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr auto portDescriptorType ()
 
template<typename Node , PortDirection Direction>
constexpr size_t portIndex (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr std::size_t portSize ()
 
template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr auto portType ()
 
template<typename NodeT >
void registerNode (const char *className)
 
static const char * ToParam (ChannelType channelType)
 

Variables

uint64_t channelId
 
static constexpr dwTime_t CHN_WAIT_TIMEOUT_US = 50'000'000
 
const uint64_t CONNECTION_DISCONNECTED = static_cast<uint64_t>(-1)
 
uint64_t dstNodeId
 
uint8_t dstPortId
 
constexpr uint32_t DWFRAMEWORK_MAX_INTERNAL_TYPES = 0x400
 
constexpr ChannelPacketTypeID DWFRAMEWORK_PACKET_ID_DEFAULT = 0U
 
constexpr uint32_t DWFRAMEWORK_SYNCED_PACKET_TYPE_ID_OFFSET = 0x80000000
 
static constexpr uint16_t MAX_CHANNEL_ALL_PARAMS_SIZE = 256
 
static constexpr uint16_t MAX_CHANNEL_CONSUMERS_COUNT = 256
 
static constexpr uint16_t MAX_CHANNEL_PARAM_SIZE = 256
 
static constexpr uint16_t MAX_CHANNEL_PRODUCERS_COUNT = 1024
 
static constexpr size_t MAX_PORT_DESCRIPTOR_PER_COLLECTION = 256U
 
static constexpr size_t PARAMETER_ARRAY_SIZE {5U}
 
static constexpr size_t PARAMETER_CONSTRUCTOR_ARGUMENT_DESCRIPTOR {1U}
 
static constexpr size_t PARAMETER_CONSTRUCTOR_ARGUMENT_TYPE {0U}
 
static constexpr size_t PARAMETER_DEFAULT_VALUE {7U}
 
static constexpr size_t PARAMETER_IS_INDEX {4U}
 
static constexpr size_t PARAMETER_MEMBER_PTRS {6U}
 
static constexpr size_t PARAMETER_NAME {1U}
 
static constexpr size_t PARAMETER_SEMANTIC_TYPE {3U}
 
static constexpr size_t PARAMETER_TYPE {2U}
 
static constexpr size_t PARAMETER_TYPE_NAME {0U}
 
static constexpr size_t PASS_DEPENDENCIES {2U}
 
static constexpr size_t PASS_NAME {0U}
 
static constexpr size_t PASS_PROCESSOR_TYPE {1U}
 
static constexpr size_t PORT_ARRAY_SIZE = 3
 
static constexpr size_t PORT_BINDING = 4
 
static constexpr size_t PORT_COMMENT = 5
 
static constexpr size_t PORT_NAME = 1
 
static constexpr size_t PORT_TYPE = 2
 
static constexpr size_t PORT_TYPE_NAME = 0
 
uint8_t srcPortId
 

Class Documentation

◆ dw::framework::BufferProperties

struct dw::framework::BufferProperties
Class Members
size_t byteSize
BufferFlags enabledBackends

◆ dw::framework::ChannelPacketFingerprint

struct dw::framework::ChannelPacketFingerprint
Class Members
uint32_t bufferID
uint32_t channelID
uint32_t getID

◆ dw::framework::ChannelTracePoint

struct dw::framework::ChannelTracePoint
Class Members
ChannelTraceEventType eventType

The type of the event recorded in this trace point.

ChannelPacketFingerprint packetFingerprint

The fingerprint of the packet involved in the event

dwStatus status

The status returned to the client (for events involving client interaction)

◆ dw::framework::ChannelTraceProcessParam

struct dw::framework::ChannelTraceProcessParam
Class Members
uint32_t channelID

The trace ID of the channel to be processed.

ChannelTraceReadCallback input

Iterator to read the recorded traces of the channel to be processed.

ChannelTraceWriteCallback output

Iterator to write the replayable traces of the channel to be processed.

◆ dw::framework::GenericDataReference

struct dw::framework::GenericDataReference
Class Members
GenericData data
ChannelPacketTypeID packetTypeID
shared_ptr< void > pCopy
OnSetSyncAttrs setSignalerAttributes
OnSetSyncAttrs setWaiterAttributes
size_t typeSize

◆ dw::framework::NodeAllocationParams

struct dw::framework::NodeAllocationParams
Class Members
size_t maxInputPortCount
size_t maxOutputPortCount
size_t maxPassCount

◆ dw::framework::packet_traits

struct dw::framework::packet_traits

◆ dw::framework::SyncedPacketPayload

struct dw::framework::SyncedPacketPayload
Class Members
GenericData data
uint32_t syncCount

Typedef Documentation

◆ BufferFlags

using dw::framework::BufferFlags = typedef uint32_t

Definition at line 52 of file Buffer.hpp.

◆ ChannelOnRegisterTraceReader

using dw::framework::ChannelOnRegisterTraceReader = typedef dw::core::Function<ChannelTraceReadCallback(const char* channelID)>

Callback used by channel to register its need to read trace points.

Parameters
[in]channelID- the id of the channel requesting a callback to read tracepoints.
Returns
the callback to read tracepoints for the channel with id channelID.

Definition at line 165 of file ChannelTrace.hpp.

◆ ChannelOnRegisterTraceWriter

using dw::framework::ChannelOnRegisterTraceWriter = typedef dw::core::Function<ChannelTraceWriteCallback(const char* channelID)>

Callback used by channel to register its need to write trace points.

Parameters
[in]channelID- the id of the channel requesting a callback to write tracepoints.
Returns
the callback to write tracepoints for the channel with id channelID.

Definition at line 158 of file ChannelTrace.hpp.

◆ ChannelPacketConstructor

using dw::framework::ChannelPacketConstructor = typedef dw::core::Function<std::unique_ptr<IChannelPacket>(GenericData dataSpecimen, dwContextHandle_t context)>

Definition at line 44 of file ChannelFactory.hpp.

◆ ChannelPacketConstructorRegistration

◆ ChannelPacketConstructorSignature

◆ ChannelPacketFactoryPtr

Definition at line 251 of file IChannelPacket.hpp.

◆ ChannelPacketTypeID

using dw::framework::ChannelPacketTypeID = typedef uint32_t

Definition at line 129 of file ChannelPacketTypes.hpp.

◆ ChannelParamStr

using dw::framework::ChannelParamStr = typedef dw::core::FixedString<MAX_CHANNEL_PARAM_SIZE>

Definition at line 112 of file ChannelParameters.hpp.

◆ ChannelTraceReadCallback

using dw::framework::ChannelTraceReadCallback = typedef dw::core::Function<bool(ChannelTracePoint&)>

Callback used by channel to read a tracepoint. Upstream application must implement this callback uniquely for each channel to replay traces.

Returns
true if tracepoint was successfully read and false otherwise.

Definition at line 151 of file ChannelTrace.hpp.

◆ ChannelTraceWriteCallback

using dw::framework::ChannelTraceWriteCallback = typedef dw::core::Function<void(ChannelTracePoint)>

Callback used by channel to write a tracepoint. Upstream application must implement this callback uniquely for each channel to record traces.

Definition at line 144 of file ChannelTrace.hpp.

◆ ChannelType

using dw::framework::ChannelType = typedef enum ChannelType : uint8_t { DW_CHANNEL_TYPE_SHMEM_LOCAL = 0, DW_CHANNEL_TYPE_SHMEM_REMOTE = 1, DW_CHANNEL_TYPE_EGLSTREAM = 2, DW_CHANNEL_TYPE_SOCKET = 3, DW_CHANNEL_TYPE_DDS = 4, DW_CHANNEL_TYPE_NVSCI = 5, }

Definition at line 50 of file ChannelParameters.hpp.

◆ Connection

using dw::framework::Connection = typedef Connection { uint64_t srcNodeId

Definition at line 43 of file Connection.hpp.

◆ CycleCountFetcher

using dw::framework::CycleCountFetcher = typedef dw::core::Function<uint32_t(void)>

Definition at line 42 of file SyncPortHelper.hpp.

◆ OnSetSyncAttrs

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

Function signature to call back to the application to set the sync attributes when needed.

Definition at line 176 of file ChannelPacketTypes.hpp.

◆ UniquePacketPtr

template<typename T >
using dw::framework::UniquePacketPtr = typedef typename ManagedPortInput<T>::UniquePacketPtr

Definition at line 506 of file ManagedPort.hpp.

Enumeration Type Documentation

◆ BufferBackendType

enum class dw::framework::BufferBackendType : uint32_t
strong
Enumerator
CPU 
CUDA 

Definition at line 45 of file Buffer.hpp.

◆ ChannelConnectionType

Enumerator
CONNECTION_TYPE_NONE 
CONNECTION_TYPE_STATIC 
CONNECTION_TYPE_DYNAMIC 

Definition at line 140 of file ChannelParameters.hpp.

◆ ChannelMode

enum class dw::framework::ChannelMode
strong
Enumerator
FIFO 
MAILBOX 
SINGLETON 

Definition at line 114 of file ChannelParameters.hpp.

◆ ChannelNvSciStreamEnabledComponents

Enumerator
COMPONENT_NONE 
COMPONENT_CPU 
COMPONENT_EGL 
COMPONENT_CUDA 
COMPONENT_PVA 
COMPONENT_DLA 
COMPONENT_NVMEDIA 

Definition at line 127 of file ChannelParameters.hpp.

◆ ChannelReach

enum class dw::framework::ChannelReach
strong
Enumerator
REACH_NONE 
REACH_THREAD 
REACH_PROCESS 
REACH_VM 
REACH_CHIP 

Definition at line 150 of file ChannelParameters.hpp.

◆ ChannelRole

enum class dw::framework::ChannelRole : uint8_t
strong
Enumerator
DW_CHANNEL_ROLE_UNKNOWN 
DW_CHANNEL_ROLE_PRODUCER 
DW_CHANNEL_ROLE_CONSUMER 
DW_CHANNEL_ROLE_COMPOSITE 

Definition at line 89 of file ChannelParameters.hpp.

◆ ChannelTraceEventType

Enumerator
WAIT 
RECV 
RELEASE 
DROP 
GET 
SEND 
RETURN 

Definition at line 43 of file ChannelTrace.hpp.

◆ ChannelTraceMode

A channel is created with a particular mode for these traces.

Enumerator
DISABLED 

No traces enabled.

RECORD 

Traces will be recorded.

REPLAY 

Traces will be read and enforced by the channel. Here enforcement of a trace means:

  • Channel will verify that call order of its APIs is identical to what is read from previously recorded trace.
  • Channel will ensure that the result of each call is identical to what is read from previously recorded trace.
  • If the Channel is unable to replay the trace due to detected incompatibility with the trace, exceptions will be thrown.
  • For example, assume a client of consumer mailbox channel received packets A, B, dropped C, and D and this information was captured in a trace. Replaying the trace, it will verify that the consumer client makes the calls to receive packets A, B, and D. If the consumer tries to receive packet D before it is arrived, it will block. If the producer sends B before A is received by client, A will not be dropped. Also if the producer tries to produce a packet before consumers have released it, it will block.

Definition at line 109 of file ChannelTrace.hpp.

◆ ComputeGraphTraversalOrder

Enumerator
TRAVERSAL_ORDER_BREADTH_FIRST 
TRAVERSAL_ORDER_DEPTH_FIRST 

Definition at line 195 of file ComputeGraphImpl.hpp.

◆ DWChannelPacketTypeID

Enumerator
DEFAULT 
NUM_TYPES 

Definition at line 160 of file ChannelPacketTypes.hpp.

◆ PortBinding

enum class dw::framework::PortBinding : uint8_t
strong
Enumerator
OPTIONAL 
REQUIRED 

Definition at line 64 of file PortDescriptor.hpp.

◆ PortDirection

Enumerator
INPUT 
OUTPUT 
COUNT 

Definition at line 47 of file Port.hpp.

Function Documentation

◆ BufferFlagsBackendEnabled()

bool dw::framework::BufferFlagsBackendEnabled ( BufferFlags  flags,
BufferBackendType  type 
)
inline

Definition at line 54 of file Buffer.hpp.

Referenced by dw::framework::Buffer::Buffer().

◆ BufferFlagsEnableBackend()

void dw::framework::BufferFlagsEnableBackend ( BufferFlags flags,
BufferBackendType  type 
)
inline

Definition at line 59 of file Buffer.hpp.

◆ ChannelTraceHashId()

uint32_t dw::framework::ChannelTraceHashId ( const char *  id)
Returns
the hashed value of an id.

◆ ChannelTraceProcess()

void dw::framework::ChannelTraceProcess ( dw::core::span< ChannelTraceProcessParam traces)

Process recorded traces from a set of interconnected producers/consumers into a replayable format. For every SEND event: find the corresponding RECV events. When replaying, place the corresponding RECV events for a SEND event immediately before the SEND event. Also, replace the channelID field of the RECV packet fingerprints with the channelID of the corresponding trace log it appears. For example: If producer A sends packet 0 and 1 to consumers B and C. B receives 0 and 1, C receives only 1. The recording of the trace events will look like so: In A's trace record: SEND, A, 0 SEND, A, 1

In B's trace replay: RECV, A, 0 RECV, A, 1

In C's trace replay: RECV, A, 1

After processing with this function, replaying the trace will look like so In A's trace replay: RECV, B, 0 SEND, A, 0 RECV, B, 1 RECV, C, 1 SEND, A, 1

In B's trace replay: RECV, A, 0 RECV, A, 1

In C's trace replay: RECV, A, 1

This allows replay channel to set mask of which consumers a packet should be sent to.

RECV,GET,RELEASE event: copy it to the replay.

DROPS are removed as they are ignored in replay.

Parameters
[in,out]tracesthe traces to be processed into replay state

◆ convertToGraphErrorSignal()

dwGraphErrorSignal dw::framework::convertToGraphErrorSignal ( dwErrorSignal const &  signal)

◆ convertToGraphHealthSignal()

dwGraphHealthSignal dw::framework::convertToGraphHealthSignal ( const dwHealthSignal &  signal)

◆ convertToGraphHealthSignalArray()

dwGraphHealthSignalArray dw::framework::convertToGraphHealthSignalArray ( const dwHealthSignalArray &  signalArray)

◆ create()

template<typename NodeT >
auto dw::framework::create ( const ParameterProvider provider) -> std::unique_ptr<NodeT>

Instantiate a node using parameters from the passed provider.

Syntactic sugar chaining the following calls:

Definition at line 1092 of file ParameterDescriptor.hpp.

◆ createAllocationParams()

◆ createConstructorArguments()

template<typename NodeT >
auto dw::framework::createConstructorArguments ( )

Create a tuple of constructor argument needed by the constructor of the passed node.

Definition at line 1056 of file ParameterDescriptor.hpp.

◆ createInputOnly()

static Connection dw::framework::createInputOnly ( uint64_t  dstNodeId,
uint8_t  dstPortId,
uint64_t  channelId 
)
static

Definition at line 50 of file Connection.hpp.

References channelId, CONNECTION_DISCONNECTED, dstNodeId, and dstPortId.

◆ createNode()

std::unique_ptr< Node > dw::framework::createNode ( const dw::core::StringView &  className,
ParameterProvider provider 
)

◆ createOutputOnly()

static Connection dw::framework::createOutputOnly ( uint64_t  srcNodeId,
uint8_t  srcPortId,
uint64_t  channelId 
)
static

Definition at line 63 of file Connection.hpp.

References channelId, CONNECTION_DISCONNECTED, and srcPortId.

◆ createParameterCollectionDescriptor()

template<typename NodeT >
static ParameterCollectionDescriptor dw::framework::createParameterCollectionDescriptor ( )
static

Create a parameter collection descriptor for a give node.

Definition at line 294 of file ParameterCollectionDescriptor.hpp.

References dw::framework::ParameterCollectionDescriptor::addDescriptors().

◆ createPassCollectionDescriptor()

template<typename NodeT >
static PassCollectionDescriptor dw::framework::createPassCollectionDescriptor ( )
static

Create a pass collection descriptor for a give node.

Definition at line 163 of file PassCollectionDescriptor.hpp.

◆ createPortCollectionDescriptor()

template<typename NodeT , PortDirection Direction, typename std::enable_if_t< Direction==PortDirection::INPUT, void > * = nullptr>
static PortCollectionDescriptor dw::framework::createPortCollectionDescriptor ( )
static

Definition at line 150 of file PortCollectionDescriptor.hpp.

◆ describeAbstractArrayParameter()

template<typename T >
constexpr auto dw::framework::describeAbstractArrayParameter ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
size_t  arraySize 
)
constexpr

Describe an abstract array parameter.

The values aren't stored anywhere automatically but the nodes create() function should retrieve the parameters from the provider and use custom logic to use the values.

Definition at line 333 of file ParameterDescriptor.hpp.

◆ describeAbstractParameter()

template<typename T >
constexpr auto dw::framework::describeAbstractParameter ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName 
)
constexpr

Describe an abstract parameter.

The value isn't stored anywhere automatically but the nodes create() function should retrieve the parameter from the provider and use custom logic to use the value.

Definition at line 315 of file ParameterDescriptor.hpp.

◆ describeArrayParameter()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameter ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
size_t  arraySize,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe an array parameter.

Regarding the member pointers see describeParameter().

Definition at line 422 of file ParameterDescriptor.hpp.

◆ describeArrayParameterWithDefault()

template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameterWithDefault ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
std::array< T, ArraySize >  defaultValue,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe an array parameter with a default value.

See describeArrayParameter().

Definition at line 580 of file ParameterDescriptor.hpp.

◆ describeConstructorArgument()

template<typename... Args>
constexpr auto dw::framework::describeConstructorArgument ( const Args &&...  args)
constexpr

Describe a specific constructor argument of a node.

The function is used to create the arguments for describeConstructorArguments(). Each argument of the function is created by one of the describe parameter functions below.

Definition at line 200 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [1/6]

constexpr std::tuple dw::framework::describeConstructorArguments ( )
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 58 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [2/6]

template<typename Argument1T , typename Arg1 >
constexpr auto dw::framework::describeConstructorArguments ( const Arg1 &&  arg1)
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 75 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [3/6]

template<typename Argument1T , typename Argument2T , typename Arg1 , typename Arg2 >
constexpr auto dw::framework::describeConstructorArguments ( const Arg1 &&  arg1,
const Arg2 &&  arg2 
)
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 95 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [4/6]

template<typename Argument1T , typename Argument2T , typename Argument3T , typename Arg1 , typename Arg2 , typename Arg3 >
constexpr auto dw::framework::describeConstructorArguments ( const Arg1 &&  arg1,
const Arg2 &&  arg2,
const Arg3 &&  arg3 
)
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 118 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [5/6]

template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
constexpr auto dw::framework::describeConstructorArguments ( const Arg1 &&  arg1,
const Arg2 &&  arg2,
const Arg3 &&  arg3,
const Arg4 &&  arg4 
)
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 144 of file ParameterDescriptor.hpp.

◆ describeConstructorArguments() [6/6]

template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Argument5T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
constexpr auto dw::framework::describeConstructorArguments ( const Arg1 &&  arg1,
const Arg2 &&  arg2,
const Arg3 &&  arg3,
const Arg4 &&  arg4,
const Arg5 &&  arg5 
)
constexpr

Describe the constructor arguments of a node.

The function is used to implement NodeConcept::describeParameters(). Each argument of the function is created by describeConstructorArgument().

Definition at line 173 of file ParameterDescriptor.hpp.

◆ describeEnumerator()

template<typename EnumT >
constexpr auto dw::framework::describeEnumerator ( dw::core::StringView const &&  name,
EnumT  value 
)
constexpr

Describe an enumerator.

This function is used to create arguments for describeEnumeratorCollection(). To avoid having to specify both explicitly - the enumerator name as well as the value - the macro DW_DESCRIBE_ENUMERATOR() is used.

Parameters
[in]nameThe enumerator name
[in]valueThe enumerator value
Returns
The pair with the enumerator name and value

Definition at line 136 of file EnumDescriptor.hpp.

◆ describeEnumeratorCollection()

template<typename EnumT , typename... Args>
constexpr auto dw::framework::describeEnumeratorCollection ( Args const &&...  args)
constexpr

Describe the enumerators.

This function is used in specializations of EnumDescription::get() to describe all enumerators.

Parameters
argsEach argument describes an enumerator created by describeEnumerator()
Returns
The array of enumerators

Definition at line 118 of file EnumDescriptor.hpp.

◆ describeIndexParameter()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeIndexParameter ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe an index parameter.

The value represent an index which is used to retrieve a specific item from an array parameter identified by the semantic type. Regarding the member pointers see describeParameter().

Definition at line 377 of file ParameterDescriptor.hpp.

◆ describeInputPorts()

template<typename Node >
constexpr auto dw::framework::describeInputPorts ( )
constexpr

Definition at line 132 of file PortDescriptor.hpp.

References describeInputPorts().

Referenced by describeInputPorts().

◆ describeOutputPorts()

template<typename Node >
constexpr auto dw::framework::describeOutputPorts ( )
constexpr

Definition at line 138 of file PortDescriptor.hpp.

References describeOutputPorts().

Referenced by describeOutputPorts().

◆ describeParameter()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameter ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe a parameter.

The value is stored within the constructor argument where this parameter is described in (see describeConstructorArgument()). When no member pointers are provided the value is stored directly in the constructor argument. When one member pointer is provided the value is stored in that member of the constructor argument. When more than one member pointer is provided the value is stored in the recursive member of the constructor argument.

Definition at line 270 of file ParameterDescriptor.hpp.

◆ describeParameters()

template<typename NodeT >
constexpr auto dw::framework::describeParameters ( )
constexpr

Get described parameters for the passed node.

Definition at line 597 of file ParameterDescriptor.hpp.

References describeParameters().

Referenced by describeParameters().

◆ describeParameterWithDefault()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameterWithDefault ( dw::core::StringView const &&  typeName,
dw::core::StringView const &&  parameterName,
defaultValue,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe a parameter with a default value.

See describeParameter().

Definition at line 542 of file ParameterDescriptor.hpp.

◆ describePass() [1/2]

constexpr std::tuple< dw::core::StringView, dwProcessorType > dw::framework::describePass ( dw::core::StringView const &&  name,
dwProcessorType  processorType 
)
constexpr

Describe a specific pass of a node.

The function is used to create the arguments for describePassCollection().

Definition at line 75 of file PassDescriptor.hpp.

◆ describePass() [2/2]

template<typename DependenciesT >
constexpr auto dw::framework::describePass ( dw::core::StringView const &&  name,
dwProcessorType  processorType,
DependenciesT  dependencies 
) -> std::tuple<dw::core::StringView, dwProcessorType, DependenciesT>
constexpr

Describe a specific pass of a node with custom inter-pass dependencies.

The function is used to create the arguments for describePassCollection(). The dependencies argument is created by describePassDependencies().

Definition at line 94 of file PassDescriptor.hpp.

◆ describePassCollection()

template<typename... Args>
constexpr auto dw::framework::describePassCollection ( const Args &&...  args)
constexpr

Describe the passes of a node.

The function is used to implement NodeConcept::describePasses(). Each argument of the function is created by describePass().

Definition at line 55 of file PassDescriptor.hpp.

◆ describePassDependencies()

template<typename... Args>
constexpr auto dw::framework::describePassDependencies ( const Args &&...  args) -> std::array<dw::core::StringView, sizeof...(Args)>
constexpr

Describe the custom inter-pass dependencies of a pass.

The function is used to create the dependencies argument for describePass().

Definition at line 109 of file PassDescriptor.hpp.

◆ describePasses()

template<typename Node >
constexpr auto dw::framework::describePasses ( )
constexpr

Get described passes for the passed node.

Definition at line 116 of file PassDescriptor.hpp.

References describePasses().

Referenced by describePasses().

◆ describePort() [1/2]

template<typename PortType >
constexpr auto dw::framework::describePort ( dw::core::StringView  typeName,
dw::core::StringView  name,
dw::core::StringView  comment 
)
constexpr

Definition at line 87 of file PortDescriptor.hpp.

References OPTIONAL.

◆ describePort() [2/2]

template<typename PortType >
constexpr auto dw::framework::describePort ( dw::core::StringView  typeName,
dw::core::StringView  name,
PortBinding  binding = PortBinding::OPTIONAL,
dw::core::StringView  comment = ""_sv 
)
constexpr

Definition at line 74 of file PortDescriptor.hpp.

◆ describePortArray() [1/2]

template<typename PortType , size_t ArraySize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto dw::framework::describePortArray ( dw::core::StringView  typeName,
dw::core::StringView  name,
dw::core::StringView  comment 
)
constexpr

Definition at line 119 of file PortDescriptor.hpp.

References OPTIONAL.

◆ describePortArray() [2/2]

template<typename PortType , size_t ArraySize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto dw::framework::describePortArray ( dw::core::StringView  typeName,
dw::core::StringView  name,
PortBinding  binding = PortBinding::OPTIONAL,
dw::core::StringView  comment = ""_sv 
)
constexpr

Definition at line 103 of file PortDescriptor.hpp.

◆ describePortCollection()

template<typename... Args>
constexpr auto dw::framework::describePortCollection ( Args &&...  args)
constexpr

Definition at line 52 of file PortDescriptor.hpp.

◆ describePorts()

template<typename Node , PortDirection Direction, typename std::enable_if_t< Direction==PortDirection::INPUT, void > * = nullptr>
constexpr auto dw::framework::describePorts ( )
constexpr

Definition at line 147 of file PortDescriptor.hpp.

◆ describeUnnamedArrayParameter()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedArrayParameter ( dw::core::StringView const &&  typeName,
size_t  arraySize,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe an unnamed array parameter.

The value isn't identified by a name but solely by the semantic type. Regarding the member pointers see describeParameter().

Definition at line 509 of file ParameterDescriptor.hpp.

◆ describeUnnamedParameter()

template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedParameter ( dw::core::StringView const &&  typeName,
const MemberPointers &&...  memberPointers 
)
constexpr

Describe an unnamed parameter.

The value isn't identified by a name but solely by the semantic type. Regarding the member pointers see describeParameter().

Definition at line 468 of file ParameterDescriptor.hpp.

◆ descriptorIndex()

template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr size_t dw::framework::descriptorIndex ( )
constexpr

Definition at line 279 of file PortDescriptor.hpp.

References descriptorIndex(), and OUTPUT.

Referenced by descriptorIndex().

◆ descriptorPortArray()

template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr bool dw::framework::descriptorPortArray ( )
constexpr

◆ descriptorPortBinding()

template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr PortBinding dw::framework::descriptorPortBinding ( )
constexpr

Definition at line 195 of file PortDescriptor.hpp.

◆ descriptorPortComment()

template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr dw::core::StringView dw::framework::descriptorPortComment ( )
constexpr

Definition at line 204 of file PortDescriptor.hpp.

◆ descriptorPortSize()

template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr size_t dw::framework::descriptorPortSize ( )
constexpr

Definition at line 182 of file PortDescriptor.hpp.

◆ extractSyncPacket()

SyncedPacketPayload * dw::framework::extractSyncPacket ( GenericData  packet)

◆ getInputPorts()

const PortCollectionDescriptor & dw::framework::getInputPorts ( const dw::core::StringView &  className)

◆ getNodeNames()

dw::core::HeapVectorFixed< dw::core::StringView > dw::framework::getNodeNames ( )

◆ getOutputPorts()

const PortCollectionDescriptor & dw::framework::getOutputPorts ( const dw::core::StringView &  className)

◆ getParameters()

const ParameterCollectionDescriptor & dw::framework::getParameters ( const dw::core::StringView &  className)

◆ getPasses()

const PassCollectionDescriptor & dw::framework::getPasses ( const dw::core::StringView &  className)

◆ hasPassDependencies()

template<typename Node , size_t Index>
constexpr bool dw::framework::hasPassDependencies ( )
constexpr

Check if a pass specifies explicit dependencies.

Definition at line 201 of file PassDescriptor.hpp.

References PASS_DEPENDENCIES.

◆ IsConsumer()

constexpr bool dw::framework::IsConsumer ( ChannelRole  role)
inlineconstexpr

Definition at line 102 of file ChannelParameters.hpp.

References DW_CHANNEL_ROLE_CONSUMER.

◆ IsProducer()

constexpr bool dw::framework::IsProducer ( ChannelRole  role)
inlineconstexpr

Definition at line 97 of file ChannelParameters.hpp.

References DW_CHANNEL_ROLE_PRODUCER.

◆ isValidPass() [1/2]

template<typename Node >
constexpr bool dw::framework::isValidPass ( dw::core::StringView  identifier)
constexpr

Check if given string is a valid pass name.

Definition at line 179 of file PassDescriptor.hpp.

◆ isValidPass() [2/2]

template<typename Node >
constexpr bool dw::framework::isValidPass ( std::size_t  passID)
constexpr

Check if pass index is valid.

Definition at line 132 of file PassDescriptor.hpp.

◆ isValidPort() [1/2]

template<typename Node , PortDirection Direction>
constexpr bool dw::framework::isValidPort ( std::size_t  portID)
constexpr

Definition at line 298 of file PortDescriptor.hpp.

References OUTPUT.

◆ isValidPort() [2/2]

template<typename Node , PortDirection Direction>
constexpr bool dw::framework::isValidPort ( StringView  identifier)
constexpr

Definition at line 390 of file PortDescriptor.hpp.

◆ make_specimen()

template<typename T >
static GenericDataReference dw::framework::make_specimen ( typename parameter_traits< T >::SpecimenT *  specimen)
inlinestatic

◆ makeUniqueFromTuple()

template<typename NodeT , class ConstructorArguments >
auto dw::framework::makeUniqueFromTuple ( const ConstructorArguments &&  constructorArguments) -> std::unique_ptr<NodeT>

Instantiate a node using the passed constructor arguments.

Definition at line 1076 of file ParameterDescriptor.hpp.

◆ mapEnumNameToValue()

template<typename EnumT >
auto dw::framework::mapEnumNameToValue ( dw::core::StringView const &  name) -> EnumT

Get the enumerator value based on the name.

Parameters
[in]nameThe enumerator name
Returns
The enumerator value
Exceptions
Exceptionif the enumerator name is invalid

Definition at line 149 of file EnumDescriptor.hpp.

References dw::framework::EnumDescription< EnumT >::get().

◆ mapEnumValueToName()

template<typename EnumT >
dw::core::StringView dw::framework::mapEnumValueToName ( EnumT  value)

Get the enumerator name based on the value.

Parameters
[in]valueThe enumerator value
Returns
The enumerator name
Exceptions
Exceptionif the enumerator value is invalid

Definition at line 175 of file EnumDescriptor.hpp.

References dw::framework::EnumDescription< EnumT >::get().

◆ nvSciGetErrorName()

const char * dw::framework::nvSciGetErrorName ( uint32_t  error)

◆ nvSciGetEventName()

const char * dw::framework::nvSciGetEventName ( uint32_t  event)

◆ operator&()

constexpr ChannelNvSciStreamEnabledComponents dw::framework::operator& ( ChannelNvSciStreamEnabledComponents  a,
ChannelNvSciStreamEnabledComponents  b 
)
inlineconstexpr

Definition at line 160 of file ChannelParameters.hpp.

◆ operator|()

constexpr ChannelNvSciStreamEnabledComponents dw::framework::operator| ( ChannelNvSciStreamEnabledComponents  a,
ChannelNvSciStreamEnabledComponents  b 
)
inlineconstexpr

Definition at line 166 of file ChannelParameters.hpp.

◆ parameterSize()

template<typename NodeT >
constexpr std::size_t dw::framework::parameterSize ( )
constexpr

Get the number of parameters for a given node.

Definition at line 1131 of file ParameterDescriptor.hpp.

◆ ParseAllChannelParameters()

template<typename... Others>
static void dw::framework::ParseAllChannelParameters ( const ChannelParamStr channelParams,
Others &&...  others 
)
inlinestatic

◆ ParseChannelParameter() [1/15]

template<typename T >
static T dw::framework::ParseChannelParameter ( const ChannelParamStr value)
inlinestatic

◆ ParseChannelParameter() [2/15]

template<>
ChannelNvSciStreamEnabledComponents dw::framework::ParseChannelParameter ( const ChannelParamStr value)

◆ ParseChannelParameter() [3/15]

template<>
ChannelConnectionType dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 222 of file ChannelParameters.hpp.

References CONNECTION_TYPE_DYNAMIC, and CONNECTION_TYPE_STATIC.

◆ ParseChannelParameter() [4/15]

template<>
ChannelReach dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 241 of file ChannelParameters.hpp.

References REACH_CHIP, REACH_PROCESS, REACH_THREAD, and REACH_VM.

◆ ParseChannelParameter() [5/15]

template<>
int64_t dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 269 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [6/15]

template<>
size_t dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 276 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [7/15]

template<>
uint32_t dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 288 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [8/15]

template<>
uint16_t dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 296 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [9/15]

template<>
bool dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 308 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [10/15]

template<>
ChannelRole dw::framework::ParseChannelParameter ( const ChannelParamStr value)

◆ ParseChannelParameter() [11/15]

template<>
ChannelType dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 350 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [12/15]

template<>
ChannelMode dw::framework::ParseChannelParameter ( const ChannelParamStr value)

Definition at line 386 of file ChannelParameters.hpp.

References MAILBOX, and SINGLETON.

◆ ParseChannelParameter() [13/15]

template<size_t Size>
void dw::framework::ParseChannelParameter ( const ChannelParamStr value,
dw::core::FixedString< Size > &  result 
)

Definition at line 411 of file ChannelParameters.hpp.

◆ ParseChannelParameter() [14/15]

template<typename T , size_t N>
void dw::framework::ParseChannelParameter ( const ChannelParamStr value,
dw::core::VectorFixed< T, N > &  result 
)

Definition at line 417 of file ChannelParameters.hpp.

References ParseChannelParameter().

◆ ParseChannelParameter() [15/15]

template<typename T >
void dw::framework::ParseChannelParameter ( const ChannelParamStr value,
T &  result 
)

Definition at line 405 of file ChannelParameters.hpp.

◆ ParseChannelParameters() [1/2]

static void dw::framework::ParseChannelParameters ( const ChannelParamStr ,
const ChannelParamStr  
)
inlinestatic

Definition at line 434 of file ChannelParameters.hpp.

Referenced by ParseAllChannelParameters(), and ParseChannelParameters().

◆ ParseChannelParameters() [2/2]

template<typename T , typename... Others>
static void dw::framework::ParseChannelParameters ( const ChannelParamStr key,
const ChannelParamStr value,
const char *  staticKey,
T &  result,
Others &&...  others 
)
inlinestatic

Definition at line 440 of file ChannelParameters.hpp.

References ParseChannelParameter(), and ParseChannelParameters().

◆ passDependencies()

template<typename Node , size_t Index, typename std::enable_if_t< hasPassDependencies< Node, Index >(), void > * = nullptr>
constexpr auto dw::framework::passDependencies ( )
constexpr

Get the dependencies of a pass.

Get the dependencies of a pass (which returns an empty collection for passes without explicit dependencies).

Definition at line 211 of file PassDescriptor.hpp.

◆ passIndex()

template<typename Node >
constexpr size_t dw::framework::passIndex ( dw::core::StringView  identifier)
constexpr

Get the the pass index for a pass identified by name.

Definition at line 172 of file PassDescriptor.hpp.

Referenced by dw::framework::ExceptionSafeProcessNode::runPass(), and dw::framework::ExceptionSafeSensorNode::runPass().

◆ passName()

template<typename Node , size_t Index>
constexpr dw::core::StringView dw::framework::passName ( )
constexpr

Get the name of a pass.

Definition at line 187 of file PassDescriptor.hpp.

◆ passProcessorType()

template<typename Node , size_t Index>
constexpr dwProcessorType dw::framework::passProcessorType ( )
constexpr

Get the processor type of a pass.

Definition at line 194 of file PassDescriptor.hpp.

◆ passSize()

template<typename Node >
constexpr std::size_t dw::framework::passSize ( )
constexpr

Get the number of passes of the passed node.

Definition at line 123 of file PassDescriptor.hpp.

◆ populateParameters()

template<typename NodeT , class ConstructorArguments , typename std::enable_if_t< std::tuple_size< ConstructorArguments >()==1, void > * = nullptr>
void dw::framework::populateParameters ( ConstructorArguments &  constructorArguments,
const ParameterProvider provider 
)

Populate the constructor arguments using values from the parameter provider.

Definition at line 927 of file ParameterDescriptor.hpp.

◆ portArraySize()

template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portArraySize ( StringView  identifier)
constexpr

Definition at line 337 of file PortDescriptor.hpp.

◆ portDescriptorIndex()

template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portDescriptorIndex ( StringView  identifier)
constexpr

Definition at line 424 of file PortDescriptor.hpp.

◆ portDescriptorSize()

template<typename Node , PortDirection Direction>
constexpr std::size_t dw::framework::portDescriptorSize ( )
constexpr

Definition at line 165 of file PortDescriptor.hpp.

◆ portDescriptorType()

template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr auto dw::framework::portDescriptorType ( )
constexpr

Definition at line 213 of file PortDescriptor.hpp.

References PORT_TYPE.

◆ portIndex()

template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portIndex ( StringView  identifier)
constexpr

Definition at line 377 of file PortDescriptor.hpp.

References OUTPUT.

◆ portSize()

template<typename Node , PortDirection Direction>
constexpr std::size_t dw::framework::portSize ( )
constexpr

Definition at line 247 of file PortDescriptor.hpp.

◆ portType()

template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr auto dw::framework::portType ( )
constexpr

Definition at line 290 of file PortDescriptor.hpp.

◆ registerNode()

template<typename NodeT >
void dw::framework::registerNode ( const char *  className)

Definition at line 131 of file NodeFactory.hpp.

◆ ToParam()

static const char * dw::framework::ToParam ( ChannelType  channelType)
inlinestatic

Definition at line 59 of file ChannelParameters.hpp.

Variable Documentation

◆ channelId

uint64_t dw::framework::channelId

◆ CHN_WAIT_TIMEOUT_US

constexpr dwTime_t dw::framework::CHN_WAIT_TIMEOUT_US = 50'000'000
staticconstexpr

Definition at line 52 of file Channel.hpp.

◆ CONNECTION_DISCONNECTED

const uint64_t dw::framework::CONNECTION_DISCONNECTED = static_cast<uint64_t>(-1)

Definition at line 41 of file Connection.hpp.

Referenced by createInputOnly(), and createOutputOnly().

◆ dstNodeId

uint64_t dw::framework::dstNodeId

Definition at line 46 of file Connection.hpp.

Referenced by createInputOnly().

◆ dstPortId

uint8_t dw::framework::dstPortId

Definition at line 48 of file Connection.hpp.

Referenced by createInputOnly().

◆ DWFRAMEWORK_MAX_INTERNAL_TYPES

constexpr uint32_t dw::framework::DWFRAMEWORK_MAX_INTERNAL_TYPES = 0x400
constexpr

Definition at line 132 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_PACKET_ID_DEFAULT

constexpr ChannelPacketTypeID dw::framework::DWFRAMEWORK_PACKET_ID_DEFAULT = 0U
constexpr

Definition at line 130 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_SYNCED_PACKET_TYPE_ID_OFFSET

constexpr uint32_t dw::framework::DWFRAMEWORK_SYNCED_PACKET_TYPE_ID_OFFSET = 0x80000000
constexpr

Definition at line 131 of file ChannelPacketTypes.hpp.

◆ MAX_CHANNEL_ALL_PARAMS_SIZE

constexpr uint16_t dw::framework::MAX_CHANNEL_ALL_PARAMS_SIZE = 256
staticconstexpr

Definition at line 108 of file ChannelParameters.hpp.

◆ MAX_CHANNEL_CONSUMERS_COUNT

constexpr uint16_t dw::framework::MAX_CHANNEL_CONSUMERS_COUNT = 256
staticconstexpr

Definition at line 110 of file ChannelParameters.hpp.

◆ MAX_CHANNEL_PARAM_SIZE

constexpr uint16_t dw::framework::MAX_CHANNEL_PARAM_SIZE = 256
staticconstexpr

Definition at line 107 of file ChannelParameters.hpp.

◆ MAX_CHANNEL_PRODUCERS_COUNT

constexpr uint16_t dw::framework::MAX_CHANNEL_PRODUCERS_COUNT = 1024
staticconstexpr

Definition at line 109 of file ChannelParameters.hpp.

◆ MAX_PORT_DESCRIPTOR_PER_COLLECTION

constexpr size_t dw::framework::MAX_PORT_DESCRIPTOR_PER_COLLECTION = 256U
staticconstexpr

Definition at line 85 of file PortCollectionDescriptor.hpp.

◆ PARAMETER_ARRAY_SIZE

constexpr size_t dw::framework::PARAMETER_ARRAY_SIZE {5U}
staticconstexpr

Definition at line 224 of file ParameterDescriptor.hpp.

◆ PARAMETER_CONSTRUCTOR_ARGUMENT_DESCRIPTOR

constexpr size_t dw::framework::PARAMETER_CONSTRUCTOR_ARGUMENT_DESCRIPTOR {1U}
staticconstexpr

Definition at line 50 of file ParameterDescriptor.hpp.

◆ PARAMETER_CONSTRUCTOR_ARGUMENT_TYPE

constexpr size_t dw::framework::PARAMETER_CONSTRUCTOR_ARGUMENT_TYPE {0U}
staticconstexpr

Definition at line 47 of file ParameterDescriptor.hpp.

◆ PARAMETER_DEFAULT_VALUE

constexpr size_t dw::framework::PARAMETER_DEFAULT_VALUE {7U}
staticconstexpr

Definition at line 230 of file ParameterDescriptor.hpp.

◆ PARAMETER_IS_INDEX

constexpr size_t dw::framework::PARAMETER_IS_INDEX {4U}
staticconstexpr

Definition at line 221 of file ParameterDescriptor.hpp.

◆ PARAMETER_MEMBER_PTRS

constexpr size_t dw::framework::PARAMETER_MEMBER_PTRS {6U}
staticconstexpr

Definition at line 227 of file ParameterDescriptor.hpp.

◆ PARAMETER_NAME

constexpr size_t dw::framework::PARAMETER_NAME {1U}
staticconstexpr

Definition at line 212 of file ParameterDescriptor.hpp.

◆ PARAMETER_SEMANTIC_TYPE

constexpr size_t dw::framework::PARAMETER_SEMANTIC_TYPE {3U}
staticconstexpr

Definition at line 218 of file ParameterDescriptor.hpp.

◆ PARAMETER_TYPE

constexpr size_t dw::framework::PARAMETER_TYPE {2U}
staticconstexpr

Definition at line 215 of file ParameterDescriptor.hpp.

◆ PARAMETER_TYPE_NAME

constexpr size_t dw::framework::PARAMETER_TYPE_NAME {0U}
staticconstexpr

Definition at line 209 of file ParameterDescriptor.hpp.

◆ PASS_DEPENDENCIES

constexpr size_t dw::framework::PASS_DEPENDENCIES {2U}
staticconstexpr

Definition at line 68 of file PassDescriptor.hpp.

Referenced by hasPassDependencies().

◆ PASS_NAME

constexpr size_t dw::framework::PASS_NAME {0U}
staticconstexpr

Definition at line 62 of file PassDescriptor.hpp.

◆ PASS_PROCESSOR_TYPE

constexpr size_t dw::framework::PASS_PROCESSOR_TYPE {1U}
staticconstexpr

Definition at line 65 of file PassDescriptor.hpp.

◆ PORT_ARRAY_SIZE

constexpr size_t dw::framework::PORT_ARRAY_SIZE = 3
staticconstexpr

Definition at line 60 of file PortDescriptor.hpp.

◆ PORT_BINDING

constexpr size_t dw::framework::PORT_BINDING = 4
staticconstexpr

Definition at line 61 of file PortDescriptor.hpp.

◆ PORT_COMMENT

constexpr size_t dw::framework::PORT_COMMENT = 5
staticconstexpr

Definition at line 62 of file PortDescriptor.hpp.

◆ PORT_NAME

constexpr size_t dw::framework::PORT_NAME = 1
staticconstexpr

Definition at line 58 of file PortDescriptor.hpp.

◆ PORT_TYPE

constexpr size_t dw::framework::PORT_TYPE = 2
staticconstexpr

Definition at line 59 of file PortDescriptor.hpp.

Referenced by portDescriptorType().

◆ PORT_TYPE_NAME

constexpr size_t dw::framework::PORT_TYPE_NAME = 0
staticconstexpr

Definition at line 57 of file PortDescriptor.hpp.

◆ srcPortId

uint8_t dw::framework::srcPortId

Definition at line 47 of file Connection.hpp.

Referenced by createOutputOnly().