# RakNet Namespace Reference

Forward declaration. More...

## Classes

class | AutoRPC
class | BitStream
class | FunctionThread
class | Functor
class | RakString
| String class Has the following improvements over std::string Reference counting: Suitable to store in lists Varidic assignment operator Doesn't cause linker errors. More...
class | ReplicaManager2
| A management system for your game objects and players to make serialization, scoping, and object creation and destruction easier. More...
struct | SerializationContext
| Contextual information about serialization, passed to some functions in Replica2. More...
class | Replica2
| Base class for game objects that use the ReplicaManager2 system All game objects that want to use the ReplicaManager2 functionality must inherit from Replica2. Generally you will want to implement at a minimum Serialize(), Deserialize(), and SerializeConstruction(). More...
class | Connection_RM2Factory
| Implement this factory class to return instances of your Connection_RM2 derived object. This is used as a class factory and exposes functionality related to the connection and the system. More...
class | Connection_RM2
| This class represents a connection between two instances of ReplicaManager2 Represents a connection. Allocated by user supplied factory interface Connection_RM2Factory Implicitly created as needed Generally you will want to implement at a minimum the Construct() function, used as a factory function to create your game objects. More...
class | StringTable
| Writes a string index, instead of the whole string. More...
class | LobbyClientInterface
| The client-side interface to the lobby system The Lobby client implements functionality commonly found in game lobbies. It is the counterpart to the LobbyServer class. This interface is system independent, but for PC functionality see LobbyClientPC For full documentation on the PC version, see LobbyClientPC.h. More...
class | LobbyClientPC
| PC specific client side code to the lobby system Attach class as a plugin to RakNet as usual. Connect to the lobby server (as usual). Then use provided functions for specific functionality. More...
class | LobbyServer
class | LobbyServerPostgreSQL

## Enumerations

enum | RPCErrorCodes { RPC_ERROR_NETWORK_ID_MANAGER_UNAVAILABLE, RPC_ERROR_OBJECT_DOES_NOT_EXIST, RPC_ERROR_FUNCTION_INDEX_OUT_OF_RANGE, RPC_ERROR_FUNCTION_NOT_REGISTERED, RPC_ERROR_FUNCTION_NO_LONGER_REGISTERED, RPC_ERROR_CALLING_CPP_AS_C, RPC_ERROR_CALLING_C_AS_CPP, RPC_ERROR_STACK_TOO_SMALL, RPC_ERROR_STACK_DESERIALIZATION_FAILED }
| Error codes returned by a remote system as to why an RPC function call cannot execute. More...

enum

SerializationType {
SEND_SERIALIZATION_GENERIC_TO_SYSTEM, BROADCAST_SERIALIZATION_GENERIC_TO_SYSTEM, SEND_AUTO_SERIALIZE_TO_SYSTEM, BROADCAST_AUTO_SERIALIZE_TO_SYSTEM,
RELAY_SERIALIZATION_TO_SYSTEMS, SEND_CONSTRUCTION_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM , SEND_DATA_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM, SEND_DESTRUCTION_GENERIC_TO_SYSTEM,
SEND_DESTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM, BROADCAST_DESTRUCTION_GENERIC_TO_SYSTEM, RELAY_DESTRUCTION_TO_SYSTEMS, SEND_CONSTRUCTION_GENERIC_TO_SYSTEM,
SEND_CONSTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM, BROADCAST_CONSTRUCTION_GENERIC_TO_SYSTEM, SEND_CONSTRUCTION_REQUEST_TO_SERVER, BROADCAST_CONSTRUCTION_REQUEST_ACCEPTED_TO_SYSTEM,
SEND_CONSTRUCTION_REPLY_ACCEPTED_TO_CLIENT, SEND_CONSTRUCTION_REPLY_DENIED_TO_CLIENT, SEND_VISIBILITY_TRUE_TO_SYSTEM, BROADCAST_VISIBILITY_TRUE_TO_SYSTEM,
SEND_VISIBILITY_FALSE_TO_SYSTEM, BROADCAST_VISIBILITY_FALSE_TO_SYSTEM, RELAY_VISIBILITY_TRUE_TO_SYSTEMS, RELAY_VISIBILITY_FALSE_TO_SYSTEMS,
AUTOSERIALIZE_RESYNCH_ONLY, AUTOSERIALIZE_DEFAULT, UNDEFINED_REASON
}

| These are the types of events that can cause network data to be transmitted. More...
enum | BooleanQueryResult { BQR_ALWAYS, BQR_YES, BQR_NO, BQR_NEVER }
| The result of various scope and construction queries. More...

## Functions

RakNetTime | GetTime (void)
| Returns the value from QueryPerformanceCounter. This is the function RakNet uses to represent time.

## Detailed Description

Forward declaration.

Forward declarations.

The namespace RakNet is not consistently used. It's only purpose is to avoid compiler errors for classes whose names are very common. For the most part I've tried to avoid this simply by using names very likely to be unique for my classes.

## Enumeration Type Documentation

enum RakNet::RPCErrorCodes

Error codes returned by a remote system as to why an RPC function call cannot execute.

Enumerator:

  RPC_ERROR_NETWORK_ID_MANAGER_UNAVAILABLE | AutoRPC::SetNetworkIDManager() was not called, and it must be called to call a C++ object member.
  RPC_ERROR_OBJECT_DOES_NOT_EXIST | Cannot execute C++ object member call because the object specified by SetRecipientObject() does not exist on this system.
  RPC_ERROR_FUNCTION_INDEX_OUT_OF_RANGE | Internal error, index optimization for function lookup does not exist.
  RPC_ERROR_FUNCTION_NOT_REGISTERED | Named function was not registered with RegisterFunction(). Check your spelling.
  RPC_ERROR_FUNCTION_NO_LONGER_REGISTERED | Named function was registered, but later unregistered with UnregisterFunction() and can no longer be called.
  RPC_ERROR_CALLING_CPP_AS_C | SetRecipientObject() was not called before Call(), but RegisterFunction() was called with isObjectMember=true If you intended to call a CPP function, call SetRecipientObject() with a valid object first.
  RPC_ERROR_CALLING_C_AS_CPP | SetRecipientObject() was called before Call(), but RegisterFunction() was called with isObjectMember=false If you intended to call a C function, call SetRecipientObject(UNASSIGNED_NETWORK_ID) first.
  RPC_ERROR_STACK_TOO_SMALL | Internal error, passed stack is bigger than current stack. Check that the version is the same on both systems.
  RPC_ERROR_STACK_DESERIALIZATION_FAILED | Internal error, formatting error with how the stack was serialized.