NVIDIA DeepStream SDK API Reference

8.0 Release
data_receiver.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
18 #ifndef NVIDIA_DEEPSTREAM_DATA_RECEIVER
19 #define NVIDIA_DEEPSTREAM_DATA_RECEIVER
20 
21 #include <mutex>
22 
23 #include "signal_handler.hpp"
24 #include "buffer.hpp"
25 
26 namespace deepstream {
27 
37 class DataReceiver : public SignalHandler {
38  public:
45  class IDataConsumer {
46  public:
57  virtual int consume(DataReceiver& receiver, Buffer buffer) = 0;
58  virtual ~IDataConsumer() {}
59  };
60 
69  DataReceiver(const std::string &name, IDataConsumer* consumer, unsigned int retries = 0);
70 
80  DataReceiver(const std::string &name, const char* factory, IDataConsumer* consumer, unsigned int retries = 0);
81 
83  virtual ~DataReceiver();
84 
92  int consume(Buffer buffer);
93 
94  protected:
95  std::unique_ptr<IDataConsumer> data_consumer_;
96  unsigned int retries_;
97 };
98 }
99 
100 #endif
deepstream::DataReceiver::DataReceiver
DataReceiver(const std::string &name, IDataConsumer *consumer, unsigned int retries=0)
Constructor.
signal_handler.hpp
deepstream::DataReceiver::IDataConsumer::~IDataConsumer
virtual ~IDataConsumer()
Definition: data_receiver.hpp:58
deepstream::DataReceiver::IDataConsumer
required interface for a data receiver
Definition: data_receiver.hpp:45
deepstream::DataReceiver::IDataConsumer::consume
virtual int consume(DataReceiver &receiver, Buffer buffer)=0
Read a data block.
deepstream::DataReceiver::data_consumer_
std::unique_ptr< IDataConsumer > data_consumer_
Definition: data_receiver.hpp:95
receiver
static deepstream::Cloud2DeviceReceiver receiver
Definition: smart_recording_action.hpp:24
deepstream
Definition: buffer.hpp:33
deepstream::Buffer
Base class of a buffer.
Definition: buffer.hpp:46
buffer.hpp
deepstream::DataReceiver::retries_
unsigned int retries_
Definition: data_receiver.hpp:96
deepstream::DataReceiver
A specific signal handler for consuming data.
Definition: data_receiver.hpp:37
deepstream::SignalHandler
SignalHandler class.
Definition: signal_handler.hpp:40
deepstream::DataReceiver::consume
int consume(Buffer buffer)
Consume a buffer.
deepstream::DataReceiver::~DataReceiver
virtual ~DataReceiver()
Destructor.