31#ifndef DW_FRAMEWORK_CHANNEL_HPP_
32#define DW_FRAMEWORK_CHANNEL_HPP_
37#include <dw/core/context/Context.h>
38#include <dwshared/dwfoundation/dw/core/language/Function.hpp>
39#include <dwshared/dwfoundation/dw/core/container/BaseString.hpp>
40#include <dw/core/health/HealthSignals.h>
78 virtual void getSyncObjs(dw::core::span<NvSciSyncObj>& syncObjs) = 0;
97 virtual void getWaitFences(
void* data, dw::core::span<NvSciSyncFence>& waitFences) = 0;
114 virtual void setSignalFences(
void* data, dw::core::span<const NvSciSyncFence> postFences) = 0;
137 virtual dwStatus
wait(dwTime_t timeout) = 0;
168 virtual dwStatus
send(
void* data) = 0;
258 virtual dwStatus
connect(dwTime_t timeout) = 0;
virtual dwStatus recv(GenericData *data)=0
virtual dwStatus release(void *data)=0
virtual dwStatus wait(dwTime_t timeout)=0
SyncWaiter & getSyncWaiter()
virtual dw::core::VectorFixed< GenericData > getAllBuffers()=0
SyncSignaler & getSyncSignaler()
virtual dwTime_t getCurrentTime()=0
virtual dwStatus get(GenericData *data)=0
virtual dwStatus release(void *data)=0
virtual dwStatus send(void *data)=0
virtual void getSyncObjs(dw::core::span< NvSciSyncObj > &syncObjs)=0
virtual void setSignalFences(void *data, dw::core::span< const NvSciSyncFence > postFences)=0
virtual void getWaitFences(void *data, dw::core::span< NvSciSyncFence > &waitFences)=0
virtual ChannelParams & getParams()=0
virtual const ChannelParams & getParams() const =0
virtual Consumer * getConsumer(const GenericDataReference &ref)=0
virtual ~ChannelObject()=default
virtual bool isConnected() const =0
virtual dwStatus connect(dwTime_t timeout)=0
virtual void connectEndpoint(const char *nvsciipcEndpoint)=0
virtual void disconnectEndpoint(const char *nvsciipcEndpoint)=0
virtual bool hasClients() const =0
virtual Producer * getProducer(const GenericDataReference &ref)=0
dw::core::FixedString< 64U > nvsciipcEndpoint
The endpoint, if relevant, or empty string.
uint32_t connectGroupID
connect group identifier of the event, relevant only for group connected event
void * opaque
The opaque pointer set for the channel tthat is ready. Only valid for type=READY.
@ GROUP_CONNECTED
Channel group connected.
@ DISCONNECTED
Channel became or is disconnected.
@ CONNECTED
Channel became connected.
@ ERROR
Channel encountered error.
dw::framework::OnDataReady onDataReady
The callback set for the channel that is ready. Only valid for type=READY.
dw::core::Function< void()> OnDataReady
dwErrorSignal errorSignal
The error signal.
uint32_t uid
unique identifier of the channel
static constexpr dwTime_t CHN_WAIT_TIMEOUT_US
ChannelEventType type
The type of the event.