Files
FlaxEngine/Source/Engine/Networking/NetworkHost.h
2021-03-12 19:29:20 +01:00

37 lines
824 B
C++

// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#include "Types.h"
#include "NetworkConfig.h"
#include "Engine/Core/Collections/Array.h"
struct FLAXENGINE_API NetworkHost
{
public:
NetworkConfig Config;
INetworkDriver* NetworkDriver = nullptr;
uint8* MessageBuffer = nullptr;
Array<uint32, HeapAllocation> MessagePool;
public:
void Initialize(const NetworkConfig& config);
void Shutdown();
void CreateMessageBuffers();
void DisposeMessageBuffers();
bool IsValid() const
{
return NetworkDriver != nullptr;
}
uint8* GetMessageBuffer(const uint32 messageId) const
{
// Calculate and return the buffer slice using previously calculated slice.
return MessageBuffer + Config.MessageSize * messageId;
}
};