NVIDIA DeepStream SDK API Reference

9.1 Release
9.1/service-maker/includes/data_receiver.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
23 #ifndef NVIDIA_DEEPSTREAM_DATA_RECEIVER
24 #define NVIDIA_DEEPSTREAM_DATA_RECEIVER
25 
26 #include <mutex>
27 
28 #include "signal_handler.hpp"
29 #include "buffer.hpp"
30 
31 namespace deepstream {
32 
42 class DataReceiver : public SignalHandler {
43  public:
50  class IDataConsumer {
51  public:
62  virtual int consume(DataReceiver& receiver, Buffer buffer) = 0;
63  virtual ~IDataConsumer() {}
64  };
65 
74  DataReceiver(const std::string &name, IDataConsumer* consumer, unsigned int retries = 0);
75 
85  DataReceiver(const std::string &name, const char* factory, IDataConsumer* consumer, unsigned int retries = 0);
86 
88  virtual ~DataReceiver();
89 
97  int consume(Buffer buffer);
98 
99  protected:
100  std::unique_ptr<IDataConsumer> data_consumer_;
101  unsigned int retries_;
102 };
103 }
104 
105 #endif
deepstream::DataReceiver::DataReceiver
DataReceiver(const std::string &name, IDataConsumer *consumer, unsigned int retries=0)
Constructor.
deepstream::DataReceiver::IDataConsumer::~IDataConsumer
virtual ~IDataConsumer()
Definition: 9.1/service-maker/includes/data_receiver.hpp:63
deepstream::DataReceiver::IDataConsumer::consume
virtual int consume(DataReceiver &receiver, Buffer buffer)=0
Read a data block.
deepstream
Definition: service-maker/includes/buffer.hpp:38
deepstream::Buffer
Base class of a buffer.
Definition: service-maker/includes/buffer.hpp:51
signal_handler.hpp
deepstream::DataReceiver::data_consumer_
std::unique_ptr< IDataConsumer > data_consumer_
Definition: service-maker/includes/data_receiver.hpp:100
buffer.hpp
deepstream::DataReceiver::retries_
unsigned int retries_
Definition: service-maker/includes/data_receiver.hpp:101
receiver
static deepstream::Cloud2DeviceReceiver receiver
Definition: service-maker/sources/modules/smart_recording_action/smart_recording_action.hpp:29
deepstream::DataReceiver::consume
int consume(Buffer buffer)
Consume a buffer.
deepstream::DataReceiver::~DataReceiver
virtual ~DataReceiver()
Destructor.