diff options
Diffstat (limited to 'Runtime/ClusterRenderer/ClusterNetwork.h')
-rw-r--r-- | Runtime/ClusterRenderer/ClusterNetwork.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Runtime/ClusterRenderer/ClusterNetwork.h b/Runtime/ClusterRenderer/ClusterNetwork.h new file mode 100644 index 0000000..0d84a08 --- /dev/null +++ b/Runtime/ClusterRenderer/ClusterNetwork.h @@ -0,0 +1,40 @@ +#pragma once +#if ENABLE_CLUSTER_SYNC +#include "Runtime/Utilities/dynamic_array.h" + +void* CreateZMQContext(); +void DestroyZMQContext(void* context); + +class MasterSocket +{ +public: + MasterSocket(void* context, const char* mainUrl, const char* ctrlUrl); + ~MasterSocket(); + void Publish(dynamic_array<UInt8>& buffer); + bool WaitForSubscriber(); + bool CheckForUnsubscribe(); + bool GetAck(); +private: + void* m_Context; + void* m_MainSocket; + void* m_CtrlSocket; +}; + + +class SlaveSocket +{ +public: + SlaveSocket(void* context, const char* mainUrl, const char* ctrlUrl); + ~SlaveSocket(); + void Listen(dynamic_array<UInt8>& buffer); + void Subscribe(int slaveId); + void Unsubscribe(int slaveId); + void SendAck(); +private: + void* m_Context; + void* m_MainSocket; + void* m_CtrlSocket; +}; + + +#endif
\ No newline at end of file |