Stub of FLpxSockets is now in place

This commit is contained in:
2023-06-23 16:27:23 -04:00
parent 42f3e02ec2
commit d5d4e0a650
6 changed files with 220 additions and 51 deletions

View File

@@ -6,6 +6,7 @@
#include "GameFramework/GameModeBase.h"
#include "enginewrapper.hpp"
#include "engineutil.hpp"
#include "LuprexSockets.hpp"
#include "IntegrationGameModeBase.generated.h"
/**
@@ -23,8 +24,9 @@ public:
virtual void Tick(float) override;
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
// Thread shutdown and cleanup. Called by Blueprint thread.
void WaitForThread();
// Delete all the state created in BeginPlay. That
// includes: the Luprex engine, the thread, and the socket state.
void ResetToInitialState();
// Method of FRunnable, called by the Luprex thread.
virtual uint32 Run() override;
@@ -58,9 +60,13 @@ public:
// This critical section guards the use of the EngineWrapper.
FCriticalSection LuprexMutex;
// The Luprex wrapper and engine. You must claim the LuprexMutex
// before touching any of these variables.
static EngineWrapper Luprex;
// The Luprex wrapper and engine. MUST CLAIM LuprexMutex.
EngineWrapper Luprex;
// Luprex socket system. Aside from construction, only touched by Luprex thread.
TUniquePtr<FLpxSockets> Sockets;
// Amount of elapsed time.
float EngineSeconds;
// When do we next trigger the thread event (relative to EngineSeconds).