10#ifndef NGC_GATEWAY_DDT_PUB_H_
11#define NGC_GATEWAY_DDT_PUB_H_
16#define BOOST_BIND_GLOBAL_PLACEHOLDERS
17#include <ddt/ddtDataPublisherApplication.hpp>
18#include <ddt/ddtDataPublisher.hpp>
19#include <ddt/ddtDataTransferFactory.hpp>
20#include <ddt/ddtEncDecImage2D.hpp>
21#include <ddt/ddtEncDecImage3D.hpp>
22#include <ddt/ddtLogger.hpp>
41 explicit Publisher(std::mutex &m, ::ddt::DdtLogger *logger =
nullptr);
49 explicit Publisher(std::mutex &m,
int n, ::ddt::DdtLogger *logger =
nullptr);
68 virtual int Configure(
const char *name,
int nx,
int ny)
override;
77 virtual int IdxOut()
override;
83 virtual int IdxIn()
override;
90 virtual int Locked(
int idx)
override;
97 virtual int Lock(
int idx)
override;
104 virtual int TryLock(
int idx)
override;
111 virtual int Unlock(
int idx)
override;
118 virtual int Wait(
int idx)
override;
125 virtual int Publish(
int idx)
override;
154 std::mutex &m_gw_mutex;
157 ::ddt::DdtLogger *m_logger;
160 std::unique_ptr<::ddt::DdtDataPublisher> m_publisher;
163 DdtEncDecImage2D m_encoder;
virtual int IdxIn() override
Definition pub.cpp:315
virtual ~Publisher()
Destructor.
Definition pub.cpp:26
virtual void Shutdown() override
Shutdown callback.
Definition pub.cpp:150
virtual int Locked(int idx) override
Definition pub.cpp:317
Publisher(Publisher &&)=delete
virtual int Wait(int idx) override
Definition pub.cpp:321
Publisher(Publisher &)=delete
Disables unused constructors and operators.
Publisher(std::mutex &m, ::ddt::DdtLogger *logger=nullptr)
Definition pub.cpp:16
Publisher & operator=(Publisher &)=delete
virtual int Configure(const char *name, int nx, int ny) override
Definition pub.cpp:60
virtual int IdxOut() override
Definition pub.cpp:316
int TryLock()
Try to lock current frame bbuffer.
Definition ngcdttPUBLISH.cpp:106
int Lock()
Lock current frame buffer.
Definition ngcdttPUBLISH.cpp:108
void Invalidate()
Invalidate current frame buffer.
Definition ngcdttPUBLISH.cpp:112
int Unlock()
Unlock current frame buffer.
Definition ngcdttPUBLISH.cpp:110
ngcdttPUBLISH()
Constructor.
Definition ngcdttPUBLISH.cpp:23
int Publish()
Publish current frame buffer.
Definition ngcdttPUBLISH.cpp:104