CUGL 3.0
Cornell University Game Library
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Classes | Enumerations
cugl::netcode Namespace Reference

Classes

class  ICEAddress
 
class  InetAddress
 
class  NetcodeChannel
 
class  NetcodeConfig
 
class  NetcodeConnection
 
class  NetcodeDeserializer
 
class  NetcodePeer
 
class  NetcodeSerializer
 
class  NetworkLayer
 
class  WebSocket
 
class  WebSocketConfig
 
class  WebSocketServer
 

Enumerations

enum  NetcodeType : std::uint8_t {
  NoneType , BooleanTrue , BooleanFalse , FloatType ,
  DoubleType , UInt32Type , SInt32Type , UInt64Type ,
  SInt64Type , StringType , JsonType , ArrayType = 127 ,
  InvalidType = 255
}
 

Detailed Description

The classes to support CUGL networking.

Currently CUGL supports ad-hoc game lobbies using web-sockets. The sockets must connect connect to a CUGL game lobby server. However, the actual network layer is supported by high speed WebRTC. See

https://libdatachannel.org

for an explanation of our networking layer.

Enumeration Type Documentation

◆ NetcodeType

enum cugl::netcode::NetcodeType : std::uint8_t

Represents the type of the of a serialized value.

Whenever you write a value to NetcodeSerializer, it is prefixed by a message type indicating what has been encoded. You should use this enum in conjunction with NetcodeDeserializer to determine the next value to read.

Enumerator
NoneType 

Represents null in jsons

BooleanTrue 

Represents a true boolean value

In order to minimize data transfer, booleans are encoded directly into their message header.

BooleanFalse 

Represents a false boolean value

In order to minimize data transfer, booleans are encoded directly into their message header.

FloatType 

Represents a float value

DoubleType 

Represents a double value

UInt32Type 

Represents an unsigned 32 bit int

SInt32Type 

Represents a signed 32 bit int

UInt64Type 

Represents an unsigned 64 bit int

SInt64Type 

Represents a signed 64 bit int

StringType 

Represents a (C++) string value

JsonType 

Represents a shared pointer to a JsonValue object

ArrayType 

A type modifier to represent vector types.

Add this value to the base enum to get a vector of that type. For eample, a vector of floats is (ArrayType+FloatType). You should use BooleanTrue to represent a vector of bool.

InvalidType 

Represents a read into the data string at an invalid position