#pragma once

#include <chrono>

#include "Core/Singleton.h"
#include "Core/Constant.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, unsigned int size);

    void OnFrame();

private:
    std::chrono::time_point<std::chrono::steady_clock> lastHeartbeatTime_;

};

