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
|
|
|
};
|
|
|
|
|