human_render/src/Ipc/IpcMoudle.h

32 lines
635 B
C++

#pragma once
#include <chrono>
#include "Core/Singleton.h"
#include "Core/Constant.h"
#include "Ipc/ZmqMoudle.h"
class IpcMoudle : public Singleton<IpcMoudle> {
NON_COPYABLE(IpcMoudle)
public:
IpcMoudle() = default;
virtual ~IpcMoudle() = default;
bool Initialize() override;
void Uninitialize() override;
bool Send(const char* data, uint32 size);
void OnFrame();
void PushImage(const char* data, uint32 size);
void PushVoice(const char* data, uint32 size);
private:
std::chrono::time_point<std::chrono::steady_clock> lastHeartbeatTime_;
std::unique_ptr<ZmqMoudle> zmqMoudle_;
};