Classes | Typedefs | Enumerations | Functions

RakNet Namespace Reference

Forward declaration. More...

Classes

class  AutoRPC
class  BitStream
class  CCRakNetUDT
 Encapsulates UDT congestion control, as used by RakNet Requirements: More...
class  FunctionThread
class  Functor
class  FunctionThreadDependentClass
class  NatTypeDetectionClient
 Client code for NatTypeDetection. More...
class  NatTypeDetectionServer
 Server code for NatTypeDetection. More...
class  RakString
 String class. More...
class  RakThread
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. 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. More...
struct  PRO
class  ReplicaManager3
 System to help automate game object construction, destruction, and serialization. More...
struct  LastSerializationResultBS
struct  LastSerializationResult
struct  SerializeParameters
struct  DeserializeParameters
class  Connection_RM3
 Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instances have been allocated. More...
class  Replica3
 Base class for your replicated objects for the ReplicaManager3 system. More...
struct  Router2DebugInterface
class  Router2
 Class interface for the Router2 system. More...
class  RPC4Plugin
 The RPC4Plugin plugin is just an association between a C function pointer and a string. More...
class  StringTable
 Writes a string index, instead of the whole string. More...
class  TeamBalancer
 Set and network team selection (supports peer to peer or client/server). More...
class  UDPForwarder
 Forwards UDP datagrams. Independent of RakNet's protocol. More...
struct  UDPProxyClientResultHandler
class  UDPProxyClient
 Communicates with UDPProxyCoordinator, in order to find a UDPProxyServer to forward our datagrams. More...
class  UDPProxyCoordinator
 Middleman between UDPProxyServer and UDPProxyClient, maintaining a list of UDPProxyServer, and managing state for clients to find an available forwarding server. More...
struct  UDPProxyServerResultHandler
class  UDPProxyServer
 UDPProxyServer to control our instance of UDPForwarder. More...
class  VariableDeltaSerializer
 Class to compare memory values of variables in a current state to a prior state Results of the comparisons will be written to a bitStream, such that only changed variables get written
Can be used with ReplicaManager3 to Serialize a Replica3 per-variable, rather than comparing the entire object against itself
Usage:
BR> 1. Call BeginUnreliableAckedSerialize(), BeginUniqueSerialize(), or BeginIdenticalSerialize(). In the case of Replica3, this would be in the Serialize() call
2. For each variable of the type in step 1, call Serialize(). The same variables must be serialized every tick()
3. Call EndSerialize()
4. Repeat step 1 for each of the other categories of how to send varaibles. More...
class  VariableListDeltaTracker

Typedefs

typedef int SerializationType
 These are the types of events that can cause network data to be transmitted.
typedef unsigned char TeamId

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, RPC_ERROR_INCORRECT_NUMBER_OF_PARAMETERS, RPC_ERROR_FUNCTION_NOT_REGISTERED
}
enum  NATTypeDetectionResult {
  NAT_TYPE_NONE, NAT_TYPE_FULL_CONE, NAT_TYPE_ADDRESS_RESTRICTED, NAT_TYPE_PORT_RESTRICTED,
  NAT_TYPE_SYMMETRIC, NAT_TYPE_UKNOWN, NAT_TYPE_DETECTION_IN_PROGRESS, NAT_TYPE_SUPPORTS_UPNP,
  NAT_TYPE_COUNT
}
 

All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value).

More...
enum  {
  SEND_SERIALIZATION_GENERIC_TO_SYSTEM, BROADCAST_SERIALIZATION_GENERIC_TO_SYSTEM, SEND_SERIALIZATION_CONSTRUCTION_TO_SYSTEM, BROADCAST_SERIALIZATION_CONSTRUCTION_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_VISIBILITY_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
}
enum  SendSerializeIfChangedResult { SSICR_SENT_DATA, SSICR_DID_NOT_SEND_DATA, SSICR_NEVER_SERIALIZE }
enum  RM3ConstructionState { RM3CS_SEND_CONSTRUCTION, RM3CS_ALREADY_EXISTS_REMOTELY, RM3CS_NEVER_CONSTRUCT, RM3CS_NO_ACTION }
 

Return codes for Connection_RM3::GetConstructionState() and Replica3::QueryConstruction().

More...
enum  RM3DestructionState { RM3DS_SEND_DESTRUCTION, RM3DS_DO_NOT_QUERY_DESTRUCTION, RM3DS_NO_ACTION }
enum  RM3SerializationResult {
  RM3SR_BROADCAST_IDENTICALLY, RM3SR_BROADCAST_IDENTICALLY_FORCE_SERIALIZATION, RM3SR_SERIALIZED_UNIQUELY, RM3SR_SERIALIZED_ALWAYS,
  RM3SR_SERIALIZED_ALWAYS_IDENTICALLY, RM3SR_DO_NOT_SERIALIZE, RM3SR_NEVER_SERIALIZE_FOR_THIS_CONNECTION
}
enum  RM3QuerySerializationResult { RM3QSR_CALL_SERIALIZE, RM3QSR_DO_NOT_CALL_SERIALIZE, RM3QSR_NEVER_CALL_SERIALIZE }
enum  RM3ActionOnPopConnection { RM3AOPC_DO_NOTHING, RM3AOPC_DELETE_REPLICA, RM3AOPC_DELETE_REPLICA_AND_BROADCAST_DESTRUCTION }
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, RPC_ERROR_INCORRECT_NUMBER_OF_PARAMETERS, RPC_ERROR_FUNCTION_NOT_REGISTERED
}
 

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

More...
enum  UDPForwarderResult { UDPFORWARDER_FORWARDING_ALREADY_EXISTS, UDPFORWARDER_NO_SOCKETS, UDPFORWARDER_INVALID_PARAMETERS, UDPFORWARDER_SUCCESS }

Functions

template<class templateType >
BitStreamoperator<< (BitStream &out, templateType &c)
template<class templateType >
BitStreamoperator>> (BitStream &in, templateType &c)
RakNetTime RAK_DLL_EXPORT GetTime (void)
 Returns the value from QueryPerformanceCounter. This is the function RakNet uses to represent time. Should be renamed GetTimeMS.
RakNetTimeUS RAK_DLL_EXPORT GetTimeNS (void)
RakNetTime RAK_DLL_EXPORT GetTimeMS (void)
RakNetTimeUS RAK_DLL_EXPORT GetTimeUS (void)
bool CanConnect (NATTypeDetectionResult type1, NATTypeDetectionResult type2)
const char * NATTypeDetectionResultToString (NATTypeDetectionResult type)
 Return a technical string representin the enumeration.
const char * NATTypeDetectionResultToStringFriendly (NATTypeDetectionResult type)
SOCKET CreateNonblockingBoundSocket (const char *bindAddr)
int NatTypeRecvFrom (char *data, SOCKET socket, SystemAddress &sender)
template<class Type >
RAK_DLL_EXPORT Type * OP_NEW (const char *file, unsigned int line)
template<class Type , class P1 >
RAK_DLL_EXPORT Type * OP_NEW_1 (const char *file, unsigned int line, const P1 &p1)
template<class Type , class P1 , class P2 >
RAK_DLL_EXPORT Type * OP_NEW_2 (const char *file, unsigned int line, const P1 &p1, const P2 &p2)
template<class Type , class P1 , class P2 , class P3 >
RAK_DLL_EXPORT Type * OP_NEW_3 (const char *file, unsigned int line, const P1 &p1, const P2 &p2, const P3 &p3)
template<class Type , class P1 , class P2 , class P3 , class P4 >
RAK_DLL_EXPORT Type * OP_NEW_4 (const char *file, unsigned int line, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4)
template<class Type >
RAK_DLL_EXPORT Type * OP_NEW_ARRAY (const int count, const char *file, unsigned int line)
template<class Type >
RAK_DLL_EXPORT void OP_DELETE (Type *buff, const char *file, unsigned int line)
template<class Type >
RAK_DLL_EXPORT void OP_DELETE_ARRAY (Type *buff, const char *file, unsigned int line)
void RAK_DLL_EXPORT * _RakMalloc (size_t size)
void RAK_DLL_EXPORT * _RakRealloc (void *p, size_t size)
void RAK_DLL_EXPORT _RakFree (void *p)
void RAK_DLL_EXPORT * _RakMalloc_Ex (size_t size, const char *file, unsigned int line)
void RAK_DLL_EXPORT * _RakRealloc_Ex (void *p, size_t size, const char *file, unsigned int line)
void RAK_DLL_EXPORT _RakFree_Ex (void *p, const char *file, unsigned int line)
void RAK_DLL_EXPORT * _DLMallocMMap (size_t size)
void RAK_DLL_EXPORT * _DLMallocDirectMMap (size_t size)
int RAK_DLL_EXPORT _DLMallocMUnmap (void *p, size_t size)

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

anonymous enum
Enumerator:
SEND_SERIALIZATION_GENERIC_TO_SYSTEM 

Serialization command initiated by the user.

BROADCAST_SERIALIZATION_GENERIC_TO_SYSTEM 

Serialization command initiated by the user.

SEND_SERIALIZATION_CONSTRUCTION_TO_SYSTEM 

Serialization command automatically called after sending construction of the object.

BROADCAST_SERIALIZATION_CONSTRUCTION_TO_SYSTEM 

Serialization command automatically called after sending construction of the object.

SEND_AUTO_SERIALIZE_TO_SYSTEM 

Automatic serialization of data, based on Replica2::AddAutoSerializeTimer.

BROADCAST_AUTO_SERIALIZE_TO_SYSTEM 

Automatic serialization of data, based on Replica2::AddAutoSerializeTimer.

RELAY_SERIALIZATION_TO_SYSTEMS 

Received a serialization command, relaying to systems other than the sender.

SEND_CONSTRUCTION_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM 

If SetAutoAddNewConnections is true, this is the command sent when sending all game objects to new connections automatically.

SEND_VISIBILITY_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM 
SEND_DATA_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM 

The data portion of the game download, preceeded by SEND_CONSTRUCTION_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM.

SEND_DESTRUCTION_GENERIC_TO_SYSTEM 

Default reason to send a destruction command.

SEND_DESTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM 

Triggered by ReplicaManager2::RecalculateVisibility - A replica is now never constructed, so needs to be destroyed.

BROADCAST_DESTRUCTION_GENERIC_TO_SYSTEM 

Triggered by Replica2::BroadcastDestruction.

RELAY_DESTRUCTION_TO_SYSTEMS 

Received destruction message, relaying to other systems.

SEND_CONSTRUCTION_GENERIC_TO_SYSTEM 

Default reason to send a construction command.

SEND_CONSTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM 

Triggered by ReplicaManager2::RecalculateVisibility - A replica is now always constructed, so needs to be created.

BROADCAST_CONSTRUCTION_GENERIC_TO_SYSTEM 

Triggered by Replica2::BroadcastConstruction().

SEND_CONSTRUCTION_REQUEST_TO_SERVER 

Replica2::QueryIsConstructionAuthority()==false yet we called ReplicaManager2::SendConstruction().

BROADCAST_CONSTRUCTION_REQUEST_ACCEPTED_TO_SYSTEM 

A non-authority object was created by a client, accepted, and is now relayed to all other connected systems.

SEND_CONSTRUCTION_REPLY_ACCEPTED_TO_CLIENT 

A non-authority object was created by a client, accepted.

SEND_CONSTRUCTION_REPLY_DENIED_TO_CLIENT 

A non-authority object was created by a client, denied.

SEND_VISIBILITY_TRUE_TO_SYSTEM 

An object is visible.

BROADCAST_VISIBILITY_TRUE_TO_SYSTEM 

An object is visible.

SEND_VISIBILITY_FALSE_TO_SYSTEM 

An object is not visible.

BROADCAST_VISIBILITY_FALSE_TO_SYSTEM 

An object is not visible.

RELAY_VISIBILITY_TRUE_TO_SYSTEMS 

An object is visible, and we are telling other systems about this.

RELAY_VISIBILITY_FALSE_TO_SYSTEMS 

An object is visible, and we are telling other systems about this.

AUTOSERIALIZE_RESYNCH_ONLY 

Calling Replica2::Serialize() for the purpose of reading memory to compare against later. This read will not be transmitted.

AUTOSERIALIZE_DEFAULT 

Calling Replica2::Serialize() to compare against a prior call. The serialization may be transmitted.

UNDEFINED_REASON 

Start your own reasons one unit past this enum.

Definition at line 39 of file ReplicaManager2.h.

All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value).

Enumerator:
NAT_TYPE_NONE 

Works with anyone.

NAT_TYPE_FULL_CONE 

Accepts any datagrams to a port that has been previously used. Will accept the first datagram from the remote peer.

NAT_TYPE_ADDRESS_RESTRICTED 

Accepts datagrams to a port as long as the datagram source IP address is a system we have already sent to. Will accept the first datagram if both systems send simultaneously. Otherwise, will accept the first datagram after we have sent one datagram.

NAT_TYPE_PORT_RESTRICTED 

Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and correct remote port. The same source address and port to a different destination uses the same mapping.

NAT_TYPE_SYMMETRIC 

A different port is chosen for every remote destination. The same source address and port to a different destination uses a different mapping. Since the port will be different, the first external punchthrough attempt will fail. For this to work it requires port-prediction (MAX_PREDICTIVE_PORT_RANGE>1) and that the router chooses ports sequentially.

NAT_TYPE_UKNOWN 

Hasn't been determined. NATTypeDetectionClient does not use this, but other plugins might.

NAT_TYPE_DETECTION_IN_PROGRESS 

In progress. NATTypeDetectionClient does not use this, but other plugins might.

NAT_TYPE_SUPPORTS_UPNP 

Didn't bother figuring it out, as we support UPNP, so it is equivalent to NAT_TYPE_NONE. NATTypeDetectionClient does not use this, but other plugins might.

NAT_TYPE_COUNT 

Definition at line 15 of file NatTypeDetectionCommon.h.

Error codes returned by a remote system as to why an RPC function call cannot execute Follows packet ID ID_RPC_REMOTE_ERROR Name of the function will be appended, if available. Read as follows: char outputBuff[256]; stringCompressor->DecodeString(outputBuff,256,&RakNet::BitStream(p->data+sizeof(MessageID)+1,p->length-sizeof(MessageID)-1,false),0); printf("Function: %s\n", outputBuff);

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.

RPC_ERROR_INCORRECT_NUMBER_OF_PARAMETERS 

The parameterCount parameter passed to RegisterFunction() on this system does not match the parameterCount parameter passed to SendCall() on the remote system.

RPC_ERROR_FUNCTION_NOT_REGISTERED 

Named function was not registered with RegisterFunction(). Check your spelling.

Definition at line 125 of file AutoRPC.h.

Enumerator:
UDPFORWARDER_FORWARDING_ALREADY_EXISTS 
UDPFORWARDER_NO_SOCKETS 
UDPFORWARDER_INVALID_PARAMETERS 
UDPFORWARDER_SUCCESS 

Definition at line 27 of file UDPForwarder.h.


Function Documentation

void * RakNet::_DLMallocDirectMMap ( size_t  size  ) 

Definition at line 257 of file RakMemoryOverride.cpp.

void * RakNet::_DLMallocMMap ( size_t  size  ) 

Definition at line 256 of file RakMemoryOverride.cpp.

int RakNet::_DLMallocMUnmap ( void *  p,
size_t  size 
)

Definition at line 258 of file RakMemoryOverride.cpp.

void RakNet::_RakFree ( void *  p  ) 

Definition at line 139 of file RakMemoryOverride.cpp.

void RakNet::_RakFree_Ex ( void *  p,
const char *  file,
unsigned int  line 
)

Definition at line 160 of file RakMemoryOverride.cpp.

void * RakNet::_RakMalloc ( size_t  size  ) 

Definition at line 129 of file RakMemoryOverride.cpp.

void * RakNet::_RakMalloc_Ex ( size_t  size,
const char *  file,
unsigned int  line 
)

Definition at line 144 of file RakMemoryOverride.cpp.

void * RakNet::_RakRealloc ( void *  p,
size_t  size 
)

Definition at line 134 of file RakMemoryOverride.cpp.

void * RakNet::_RakRealloc_Ex ( void *  p,
size_t  size,
const char *  file,
unsigned int  line 
)

Definition at line 152 of file RakMemoryOverride.cpp.

bool RakNet::CanConnect ( NATTypeDetectionResult  type1,
NATTypeDetectionResult  type2 
)
Returns:
Can one system with NATTypeDetectionResult type1 connect to type2

If one system is NAT_TYPE_SYMMETRIC, the other must be NAT_TYPE_ADDRESS_RESTRICTED or less If one system is NAT_TYPE_PORT_RESTRICTED, the other must be NAT_TYPE_PORT_RESTRICTED or less

Definition at line 7 of file NatTypeDetectionCommon.cpp.

SOCKET RakNet::CreateNonblockingBoundSocket ( const char *  bindAddr  ) 

Definition at line 64 of file NatTypeDetectionCommon.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

RakNetTime RakNet::GetTime ( void   ) 

Returns the value from QueryPerformanceCounter. This is the function RakNet uses to represent time. Should be renamed GetTimeMS.

Note:
This time won't match the time returned by GetTimeCount(). See http://www.jenkinssoftware.com/forum/index.php?topic=2798.0

Definition at line 64 of file GetTime.cpp.

Here is the call graph for this function:

RakNetTime RAK_DLL_EXPORT RakNet::GetTimeMS ( void   )  [inline]

Definition at line 29 of file GetTime.h.

Here is the call graph for this function:

Here is the caller graph for this function:

RakNetTimeUS RakNet::GetTimeNS ( void   ) 

Should be renamed GetTimeUS

Note:
The maximum delta between returned calls is 1 second - however, RakNet calls this constantly anyway. See NormalizeTime() in the cpp.

Definition at line 134 of file GetTime.cpp.

Here is the caller graph for this function:

RakNetTimeUS RAK_DLL_EXPORT RakNet::GetTimeUS ( void   )  [inline]

Definition at line 30 of file GetTime.h.

Here is the call graph for this function:

Here is the caller graph for this function:

const char * RakNet::NATTypeDetectionResultToString ( NATTypeDetectionResult  type  ) 

Return a technical string representin the enumeration.

Definition at line 24 of file NatTypeDetectionCommon.cpp.

const char * RakNet::NATTypeDetectionResultToStringFriendly ( NATTypeDetectionResult  type  ) 

Return a friendly string representing the enumeration None and relaxed can connect to anything Moderate can connect to moderate or less Strict can connect to relaxed or less

Definition at line 45 of file NatTypeDetectionCommon.cpp.

int RakNet::NatTypeRecvFrom ( char *  data,
SOCKET  socket,
SystemAddress sender 
)

Definition at line 78 of file NatTypeDetectionCommon.cpp.

Here is the caller graph for this function:

template<class Type >
RAK_DLL_EXPORT void RakNet::OP_DELETE ( Type *  buff,
const char *  file,
unsigned int  line 
)

Definition at line 167 of file RakMemoryOverride.h.

template<class Type >
RAK_DLL_EXPORT void RakNet::OP_DELETE_ARRAY ( Type *  buff,
const char *  file,
unsigned int  line 
)

Definition at line 182 of file RakMemoryOverride.h.

Here is the caller graph for this function:

template<class Type >
RAK_DLL_EXPORT Type* RakNet::OP_NEW ( const char *  file,
unsigned int  line 
)

Definition at line 72 of file RakMemoryOverride.h.

Here is the caller graph for this function:

template<class Type , class P1 >
RAK_DLL_EXPORT Type* RakNet::OP_NEW_1 ( const char *  file,
unsigned int  line,
const P1 &  p1 
)

Definition at line 86 of file RakMemoryOverride.h.

template<class Type , class P1 , class P2 >
RAK_DLL_EXPORT Type* RakNet::OP_NEW_2 ( const char *  file,
unsigned int  line,
const P1 &  p1,
const P2 &  p2 
)

Definition at line 100 of file RakMemoryOverride.h.

template<class Type , class P1 , class P2 , class P3 >
RAK_DLL_EXPORT Type* RakNet::OP_NEW_3 ( const char *  file,
unsigned int  line,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3 
)

Definition at line 114 of file RakMemoryOverride.h.

template<class Type , class P1 , class P2 , class P3 , class P4 >
RAK_DLL_EXPORT Type* RakNet::OP_NEW_4 ( const char *  file,
unsigned int  line,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4 
)

Definition at line 128 of file RakMemoryOverride.h.

template<class Type >
RAK_DLL_EXPORT Type* RakNet::OP_NEW_ARRAY ( const int  count,
const char *  file,
unsigned int  line 
)

Definition at line 143 of file RakMemoryOverride.h.

template<class templateType >
BitStream& RakNet::operator<< ( BitStream &  out,
templateType &  c 
)

Definition at line 2084 of file BitStream.h.

Here is the call graph for this function:

template<class templateType >
BitStream& RakNet::operator>> ( BitStream &  in,
templateType &  c 
)

Definition at line 2090 of file BitStream.h.

Here is the call graph for this function: