human_render/src/Ipc/IpcMoudle.h

32 lines
635 B
C
Raw Normal View History

2024-11-30 14:26:28 +00:00
#pragma once
2024-12-03 18:08:44 +00:00
#include <chrono>
2024-11-30 14:26:28 +00:00
#include "Core/Singleton.h"
#include "Core/Constant.h"
2024-12-08 17:22:15 +00:00
#include "Ipc/ZmqMoudle.h"
2024-11-30 14:26:28 +00:00
class IpcMoudle : public Singleton<IpcMoudle> {
NON_COPYABLE(IpcMoudle)
public:
IpcMoudle() = default;
virtual ~IpcMoudle() = default;
bool Initialize() override;
void Uninitialize() override;
2024-12-03 18:08:44 +00:00
2024-12-08 17:22:15 +00:00
bool Send(const char* data, uint32 size);
2024-12-03 18:08:44 +00:00
void OnFrame();
2024-12-08 17:22:15 +00:00
void PushImage(const char* data, uint32 size);
void PushVoice(const char* data, uint32 size);
2024-12-03 18:08:44 +00:00
private:
std::chrono::time_point<std::chrono::steady_clock> lastHeartbeatTime_;
2024-12-08 17:22:15 +00:00
std::unique_ptr<ZmqMoudle> zmqMoudle_;
2024-11-30 14:26:28 +00:00
};