#pragma once

#include <chrono>

//#include "Core/Singleton.h"
//#include "Core/Constant.h"

//#include "Ipc/ZmqMoudle.h"
#include "Constant.h"

class IpcMoudle {// : public Singleton<IpcMoudle> {
    //NON_COPYABLE(IpcMoudle)

public:
    IpcMoudle() = default;
    virtual ~IpcMoudle() = default;
    bool Initialize();
    void Uninitialize();

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