31#ifndef DW_FRAMEWORK_CHANNEL_HPP_
32#define DW_FRAMEWORK_CHANNEL_HPP_
37#include <dw/core/context/Context.h>
38#include <dw/core/language/Function.hpp>
39#include <dw/core/container/BaseString.hpp>
75 virtual void getSyncObjs(dw::core::span<NvSciSyncObj>& syncObjs) = 0;
93 virtual void getWaitFences(
void* data, dw::core::span<NvSciSyncFence>& waitFences) = 0;
110 virtual void setSignalFences(
void* data, dw::core::span<const NvSciSyncFence> postFences) = 0;
132 virtual dwStatus
wait(dwTime_t timeout) = 0;
166 virtual dwStatus
send(
void* data) = 0;
254 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
virtual void setOnDataReady(void *opaque, OnDataReady onDataReady)=0
dw::core::Function< void()> OnDataReady
SyncWaiter & getSyncWaiter()
SyncSignaler & getSyncSignaler()
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 Producer * getProducer(GenericDataReference ref)=0
virtual const ChannelParams & getParams() const =0
virtual ~ChannelObject()=default
virtual Consumer * getConsumer(GenericDataReference ref)=0
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
static constexpr dwTime_t CHN_WAIT_TIMEOUT_US