group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
net::discovery Namespace Reference

Classes

struct  ServerInfo
struct  ServerRegistration
struct  RegisterAck
struct  PunchRequest
struct  PunchResponse
struct  UdpHello
struct  UdpPunchPeer

Enumerations

enum class  DirectoryMessage : std::uint8_t {
  RegisterServer = 1 , RegisterAck = 2 , Heartbeat = 3 , ListRequest = 4 ,
  ListResponse = 5 , PunchRequest = 6 , PunchResponse = 7 , PunchPeer = 8
}
enum class  DirectoryUdpMessage : std::uint8_t { Hello = 1 , PunchPeer = 2 , PunchProbe = 3 }
enum class  UdpRole : std::uint8_t { Server = 1 , Client = 2 }

Functions

std::vector< std::uint8_t > makeEnvelope (DirectoryMessage kind, const std::vector< std::uint8_t > &payload)
bool parseEnvelope (const void *data, std::size_t len, DirectoryMessage &kind, const std::uint8_t *&payload, std::size_t &payloadLen)
std::vector< std::uint8_t > encodeRegistration (DirectoryMessage kind, const ServerRegistration &reg)
std::optional< ServerRegistrationdecodeRegistration (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodeRegisterAck (const RegisterAck &ack)
std::optional< RegisterAckdecodeRegisterAck (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodeServerList (const std::vector< ServerInfo > &servers)
std::optional< std::vector< ServerInfo > > decodeServerList (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodePunchRequest (const PunchRequest &req)
std::optional< PunchRequestdecodePunchRequest (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodePunchResponse (const PunchResponse &resp)
std::optional< PunchResponsedecodePunchResponse (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodeUdpHello (const UdpHello &hello)
std::optional< UdpHellodecodeUdpHello (const std::uint8_t *data, std::size_t len)
std::vector< std::uint8_t > encodeUdpPunchPeer (const UdpPunchPeer &peer)
std::optional< UdpPunchPeerdecodeUdpPunchPeer (const std::uint8_t *data, std::size_t len)
std::uint32_t randomNonce ()

Variables

constexpr std::uint16_t k_defaultDirectoryTcpPort = 10080
constexpr std::uint16_t k_defaultDirectoryUdpPort = 10081
constexpr std::uint64_t k_serverTtlMs = 15000

Enumeration Type Documentation

◆ DirectoryMessage

enum class net::discovery::DirectoryMessage : std::uint8_t
strong
Enumerator
RegisterServer 
RegisterAck 
Heartbeat 
ListRequest 
ListResponse 
PunchRequest 
PunchResponse 
PunchPeer 

◆ DirectoryUdpMessage

enum class net::discovery::DirectoryUdpMessage : std::uint8_t
strong
Enumerator
Hello 
PunchPeer 
PunchProbe 

◆ UdpRole

enum class net::discovery::UdpRole : std::uint8_t
strong
Enumerator
Server 
Client 

Function Documentation

◆ decodePunchRequest()

std::optional< PunchRequest > net::discovery::decodePunchRequest ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ decodePunchResponse()

std::optional< PunchResponse > net::discovery::decodePunchResponse ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ decodeRegisterAck()

std::optional< RegisterAck > net::discovery::decodeRegisterAck ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ decodeRegistration()

std::optional< ServerRegistration > net::discovery::decodeRegistration ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ decodeServerList()

std::optional< std::vector< ServerInfo > > net::discovery::decodeServerList ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ decodeUdpHello()

std::optional< UdpHello > net::discovery::decodeUdpHello ( const std::uint8_t * data,
std::size_t len )

◆ decodeUdpPunchPeer()

std::optional< UdpPunchPeer > net::discovery::decodeUdpPunchPeer ( const std::uint8_t * data,
std::size_t len )
Here is the caller graph for this function:

◆ encodePunchRequest()

std::vector< std::uint8_t > net::discovery::encodePunchRequest ( const PunchRequest & req)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodePunchResponse()

std::vector< std::uint8_t > net::discovery::encodePunchResponse ( const PunchResponse & resp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeRegisterAck()

std::vector< std::uint8_t > net::discovery::encodeRegisterAck ( const RegisterAck & ack)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeRegistration()

std::vector< std::uint8_t > net::discovery::encodeRegistration ( DirectoryMessage kind,
const ServerRegistration & reg )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeServerList()

std::vector< std::uint8_t > net::discovery::encodeServerList ( const std::vector< ServerInfo > & servers)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeUdpHello()

std::vector< std::uint8_t > net::discovery::encodeUdpHello ( const UdpHello & hello)
Here is the caller graph for this function:

◆ encodeUdpPunchPeer()

std::vector< std::uint8_t > net::discovery::encodeUdpPunchPeer ( const UdpPunchPeer & peer)
Here is the caller graph for this function:

◆ makeEnvelope()

std::vector< std::uint8_t > net::discovery::makeEnvelope ( DirectoryMessage kind,
const std::vector< std::uint8_t > & payload )
Here is the caller graph for this function:

◆ parseEnvelope()

bool net::discovery::parseEnvelope ( const void * data,
std::size_t len,
DirectoryMessage & kind,
const std::uint8_t *& payload,
std::size_t & payloadLen )
Here is the caller graph for this function:

◆ randomNonce()

std::uint32_t net::discovery::randomNonce ( )
Here is the caller graph for this function:

Variable Documentation

◆ k_defaultDirectoryTcpPort

std::uint16_t net::discovery::k_defaultDirectoryTcpPort = 10080
inlineconstexpr

◆ k_defaultDirectoryUdpPort

std::uint16_t net::discovery::k_defaultDirectoryUdpPort = 10081
inlineconstexpr

◆ k_serverTtlMs

std::uint64_t net::discovery::k_serverTtlMs = 15000
inlineconstexpr