9 #ifndef TurtleBrains_SocketConnectionInterface_hpp
10 #define TurtleBrains_SocketConnectionInterface_hpp
12 #include <turtle_brains/core/tb_configuration.hpp>
13 #if defined(tb_with_networking)
15 #include <turtle_brains/core/tb_noncopyable.hpp>
16 #include <turtle_brains/core/tb_types.hpp>
25 class PacketHandlerInterface;
27 enum class SocketConnectionType
44 explicit SocketConnection(
const SocketConnectionType& connectionType);
45 ~SocketConnection(
void);
57 void SetManagedConnection(
bool isManaged);
64 void UpdateConnection(
float deltaTime);
83 void Disconnect(
void);
105 bool IsConnected(
void)
const;
113 bool IsClientConnected(
const tbCore::byte clientID)
const;
122 bool SendPacket(
const tbCore::byte*
const packetData,
const size_t& packetSize);
167 void SetDebugFlag(
void);
176 tbImplementation::SocketConnectionImplementation* mImplementation;
182 namespace tbNetwork = TurtleBrains::Network;
uint16_t uint16
Unsigned integer with a size of 16 bits. Supports values from 0 to 65535.
Definition: tb_types.hpp:26
Definition: tb_noncopyable.hpp:22
Here is some information about the primary namespace.
Definition: tb_application_dialog.hpp:21
uint64_t uint64
Unsigned integer with a size of 64 bits, Supports values from 0 to (2^64 - 1).
Definition: tb_types.hpp:30
uint8 byte
Unsigned integer with 8 bits (1 byte). Supports 256 values from 0 to 255.
Definition: tb_types.hpp:24
uint32_t uint32
Unsigned integer with a size of 32 bits. Supports values from 0 to 4294967295, (2^32 - 1)...
Definition: tb_types.hpp:28
std::string tbString
Definition: tb_string.hpp:335
Definition: tb_application_dialog.hpp:19