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

@@ -0,0 +1,43 @@
#pragma once
#include "CoreMinimal.h"
// Class FLpxSockets
//
// This class is responsible for creating outgoing and incoming
// sockets for the Luprex engine. It then relays data into and out
// of the Luprex engine.
//
// It only has one interesting method: Update(). This one method
// does all the communication for the Luprex engine. Note that
// there aren't any methods where Unreal can query the state
// of the FLpxSockets. That's because this class is for
// communication between Luprex and outside servers and clients,
// NOT for communication with Unreal.
//
// The FLpxSockets keeps a pointer to the EngineWrapper.
// The EngineWrapper must outlive the FLpxSockets.
//
// This class is an abstract base class. A derived class
// implements all the behavior.
//
class FLpxSockets;
struct EngineWrapper;
class FLpxSockets
{
protected:
FLpxSockets() {}
public:
// Create the Luprex socket system.
static FLpxSockets* Create(EngineWrapper *w);
// Delete the luprex socket system. Cleanly closes all sockets.
virtual ~FLpxSockets() {}
// The update routine relays data into and out of
// luprex via TCP/IP sockets.
virtual void Update() = 0;
};