Shadowrun: Awakened 29 September 2011 - Build 871
Classes | Typedefs | Enumerations | Functions | Variables
RakNet Namespace Reference

Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. More...

Classes

struct  AddressOrGUID
class  AutopatcherRepositoryInterface
 An interface used by AutopatcherServer to get the data necessary to run an autopatcher. This is up to you to implement for custom repository solutions. More...
class  BitStream
struct  BPSTracker
class  CommandParserInterface
 The interface used by command parsers. More...
class  Connection_RM3
 Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instances have been allocated. More...
class  ConnectionGraph2
 A one hop connection graph. More...
class  ConsoleServer
 The main entry point for the server portion of your remote console application support. More...
class  DataCompressor
 Does compression on a block of data. Not very good compression, but it's small and fast so is something you can compute at runtime. More...
struct  DeserializeParameters
class  DirectoryDeltaTransfer
class  EmailSender
 Rudimentary class to send email from code. More...
class  FileList
struct  FileListNode
 Represents once instance of a file. More...
class  FileListProgress
 Callback interface set with FileList::SetCallback() in case you want progress notifications when FileList::AddFilesFromDirectory() is called. More...
class  FileListTransfer
 A plugin to provide a simple way to compress and incrementally send the files in the FileList structure. More...
class  FileListTransferCBInterface
 Used by FileListTransfer plugin as a callback for when we get a file. More...
struct  FilteredSystem
struct  FilterSet
class  FLP_Printf
 Implementation of FileListProgress to use RAKNET_DEBUG_PRINTF. More...
class  FullyConnectedMesh2
 Fully connected mesh plugin, revision 2. More...
class  HTTPConnection
 Use HTTPConnection to communicate with a web server. More...
class  HuffmanEncodingTree
 This generates special cases of the huffman encoding tree using 8 bit keys with the additional condition that unused combinations of 8 bits are treated as a frequency of 1. More...
class  HuffmanEncodingTreeFactory
 Creates instances of the class HuffmanEncodingTree. More...
class  IncrementalReadInterface
struct  InternalPacket
struct  InternalPacketFixedSizeTransmissionHeader
struct  InternalPacketRefCountedData
 Used in InternalPacket when pointing to sharedDataBlock, rather than allocating itself. More...
struct  LastSerializationResult
struct  LastSerializationResultBS
class  LogCommandParser
 Adds the ability to send logging output to a remote console. More...
class  MessageFilter
 Assigns systems to FilterSets. Each FilterSet limits what kinds of messages are allowed. More...
class  NatPunchthroughClient
 Client code for NATPunchthrough. More...
struct  NatPunchthroughDebugInterface
struct  NatPunchthroughDebugInterface_PacketLogger
struct  NatPunchthroughDebugInterface_Printf
class  NatPunchthroughServer
 Server code for NATPunchthrough. More...
struct  NatPunchthroughServerDebugInterface
struct  NatPunchthroughServerDebugInterface_PacketLogger
struct  NatPunchthroughServerDebugInterface_Printf
class  NatTypeDetectionClient
 Client code for NatTypeDetection. More...
class  NatTypeDetectionServer
 Server code for NatTypeDetection. More...
class  NetworkIDManager
class  NetworkIDObject
 Unique shared ids for each object instance. More...
struct  Packet
 This represents a user message from another system. More...
class  PacketConsoleLogger
 Packetlogger that logs to a remote command console. More...
class  PacketFileLogger
 Packetlogger that outputs to a file. More...
class  PacketizedTCP
class  PacketLogger
 Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messages to the console window, or to a file if you override it and give it this functionality. More...
class  PacketOutputWindowLogger
 Packetlogger that outputs to the output window in the debugger. Windows only. More...
class  PluginInterface2
struct  PRO
struct  PublicKey
 Passed to RakPeerInterface::Connect() More...
struct  PunchthroughConfiguration
class  RakNetCommandParser
 This allows a console client to call most of the functions in RakPeer. More...
struct  RakNetGUID
class  RakNetRandom
class  RakNetSmartPtr
struct  RakNetSocket
struct  RakNetStatistics
 Network Statisics Usage. More...
class  RakNetTransport2
 Use RakNetTransport if you need a secure connection between the client and the console server. More...
class  RakPeer
 Main interface for network communications. More...
class  RakPeerInterface
 The main interface for network communications. More...
class  RakString
 String class. More...
class  RakThread
class  ReadyEvent
 Peer to peer synchronized ready and unready events. More...
class  ReferenceCounter
struct  RegisteredCommand
class  ReliabilityLayer
 Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. More...
struct  RemoteClient
 Stores information about a remote client. More...
struct  RemoteSystemIndex
class  Replica3
 Base class for your replicated objects for the ReplicaManager3 system. More...
class  Replica3Composite
 Use Replica3 through composition instead of inheritance by containing an instance of this templated class Calls to parent class for all functions Parent class must still define and functions though! More...
class  ReplicaManager3
 System to help automate game object construction, destruction, and serialization. More...
class  Router2
 Class interface for the Router2 system. More...
struct  Router2DebugInterface
class  RPC4
 The RPC4 plugin is just an association between a C function pointer and a string. More...
class  RPC4GlobalRegistration
 Instantiate this class globally if you want to register a function with RPC4 at the global space. More...
struct  SerializeParameters
class  SignaledEvent
class  SimpleMutex
 An easy to use mutex. More...
struct  SocketDescriptor
 Describes the local socket to use for RakPeer::Startup. More...
class  SocketLayer
class  SocketLayerOverride
struct  SplitPacketChannel
class  StringCompressor
 Writes and reads strings to and from bitstreams. More...
class  StringTable
 Writes a string index, instead of the whole string. More...
struct  SystemAddress
 Network address for a system. More...
class  TableSerializer
class  TCPInterface
class  TeamBalancer
 Set and network team selection (supports peer to peer or client/server) More...
class  TelnetTransport
 Use TelnetTransport to easily allow windows telnet to connect to your ConsoleServer. More...
class  ThreadsafePacketLogger
 Same as PacketLogger, but writes output in the user thread. More...
class  TransportInterface
 Defines an interface that is used to send and receive null-terminated strings. More...
class  UDPForwarder
 Forwards UDP datagrams. Independent of RakNet's protocol. More...
class  UDPProxyClient
 Communicates with UDPProxyCoordinator, in order to find a UDPProxyServer to forward our datagrams. More...
struct  UDPProxyClientResultHandler
class  UDPProxyCoordinator
 Middleman between UDPProxyServer and UDPProxyClient, maintaining a list of UDPProxyServer, and managing state for clients to find an available forwarding server. More...
class  UDPProxyServer
 UDPProxyServer to control our instance of UDPForwarder. More...
struct  UDPProxyServerResultHandler
struct  uint24_t
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 uint32_t BitSize_t
typedef unsigned char MessageID
 First byte of a network message.
typedef uint24_t MessageNumberType
typedef uint64_t NetworkID
typedef uint32_t NetworkIDType
typedef MessageNumberType OrderingIndexType
typedef uint64_t reliabilityHeapWeightType
typedef RakNet::TimeUS RemoteSystemTimeType
typedef unsigned char RPCIndex
typedef uint16_t SplitPacketIdType
typedef uint32_t SplitPacketIndexType
typedef unsigned short SystemIndex
typedef unsigned char TeamId
typedef uint32_t Time
typedef uint32_t TimeMS
typedef uint64_t TimeUS
typedef unsigned char UniqueIDType

Enumerations

enum  ConnectionAttemptResult {
  CONNECTION_ATTEMPT_STARTED, INVALID_PARAMETER, CANNOT_RESOLVE_DOMAIN_NAME, ALREADY_CONNECTED_TO_ENDPOINT,
  CONNECTION_ATTEMPT_ALREADY_IN_PROGRESS, SECURITY_INITIALIZATION_FAILED
}
enum  ConnectionState {
  IS_PENDING, IS_CONNECTING, IS_CONNECTED, IS_DISCONNECTING,
  IS_SILENTLY_DISCONNECTING, IS_DISCONNECTED, IS_NOT_CONNECTED
}
 Returned from RakPeerInterface::GetConnectionState() More...
enum  NATTypeDetectionResult {
  NAT_TYPE_NONE, NAT_TYPE_FULL_CONE, NAT_TYPE_ADDRESS_RESTRICTED, NAT_TYPE_PORT_RESTRICTED,
  NAT_TYPE_SYMMETRIC, NAT_TYPE_UNKNOWN, 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  PI2_FailedConnectionAttemptReason {
  FCAR_CONNECTION_ATTEMPT_FAILED, FCAR_ALREADY_CONNECTED, FCAR_NO_FREE_INCOMING_CONNECTIONS, FCAR_SECURITY_PUBLIC_KEY_MISMATCH,
  FCAR_CONNECTION_BANNED, FCAR_INVALID_PASSWORD, FCAR_INCOMPATIBLE_PROTOCOL, FCAR_IP_RECENTLY_CONNECTED,
  FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY, FCAR_OUR_SYSTEM_REQUIRES_SECURITY, FCAR_PUBLIC_KEY_MISMATCH
}
enum  PI2_LostConnectionReason { LCR_CLOSED_BY_USER, LCR_DISCONNECTION_NOTIFICATION, LCR_CONNECTION_LOST }
enum  PluginReceiveResult { RR_STOP_PROCESSING_AND_DEALLOCATE = 0, RR_CONTINUE_PROCESSING, RR_STOP_PROCESSING }
enum  PublicKeyMode { PKM_INSECURE_CONNECTION, PKM_ACCEPT_ANY_PUBLIC_KEY, PKM_USE_KNOWN_PUBLIC_KEY, PKM_USE_TWO_WAY_AUTHENTICATION }
 Used with the PublicKey structure. More...
enum  ReadyEventSystemStatus {
  RES_NOT_WAITING, RES_WAITING, RES_READY, RES_ALL_READY,
  RES_UNKNOWN_EVENT
}
enum  RM3ActionOnPopConnection { RM3AOPC_DO_NOTHING, RM3AOPC_DELETE_REPLICA, RM3AOPC_DELETE_REPLICA_AND_BROADCAST_DESTRUCTION }
enum  RM3ConstructionState {
  RM3CS_SEND_CONSTRUCTION, RM3CS_ALREADY_EXISTS_REMOTELY, RM3CS_ALREADY_EXISTS_REMOTELY_DO_NOT_CONSTRUCT, 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  RM3QuerySerializationResult { RM3QSR_CALL_SERIALIZE, RM3QSR_DO_NOT_CALL_SERIALIZE, RM3QSR_NEVER_CALL_SERIALIZE }
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  RNSPerSecondMetrics {
  USER_MESSAGE_BYTES_PUSHED, USER_MESSAGE_BYTES_SENT, USER_MESSAGE_BYTES_RESENT, USER_MESSAGE_BYTES_RECEIVED_PROCESSED,
  USER_MESSAGE_BYTES_RECEIVED_IGNORED, ACTUAL_BYTES_SENT, ACTUAL_BYTES_RECEIVED, RNS_PER_SECOND_METRICS_COUNT
}
enum  RPCErrorCodes { RPC_ERROR_FUNCTION_NOT_REGISTERED }
 Error codes returned by a remote system as to why an RPC function call cannot execute. More...
enum  SendSerializeIfChangedResult { SSICR_SENT_DATA, SSICR_DID_NOT_SEND_DATA, SSICR_NEVER_SERIALIZE }
enum  StartupResult {
  RAKNET_STARTED, RAKNET_ALREADY_STARTED, INVALID_SOCKET_DESCRIPTORS, INVALID_MAX_CONNECTIONS,
  SOCKET_FAMILY_NOT_SUPPORTED, SOCKET_PORT_ALREADY_IN_USE, SOCKET_FAILED_TO_BIND, SOCKET_FAILED_TEST_SEND,
  PORT_CANNOT_BE_ZERO, FAILED_TO_CREATE_NETWORK_THREAD, STARTUP_OTHER_FAILURE
}
enum  UDPForwarderResult {
  UDPFORWARDER_FORWARDING_ALREADY_EXISTS, UDPFORWARDER_NO_SOCKETS, UDPFORWARDER_BIND_FAILED, UDPFORWARDER_INVALID_PARAMETERS,
  UDPFORWARDER_SUCCESS
}

Functions

void * _DLMallocDirectMMap (size_t size)
void * _DLMallocMMap (size_t size)
int _DLMallocMUnmap (void *p, size_t size)
void _RakFree (void *p)
void _RakFree_Ex (void *p, const char *file, unsigned int line)
void * _RakMalloc (size_t size)
void * _RakMalloc_Ex (size_t size, const char *file, unsigned int line)
void * _RakRealloc (void *p, size_t size)
void * _RakRealloc_Ex (void *p, size_t size, const char *file, unsigned int line)
bool CanConnect (NATTypeDetectionResult type1, NATTypeDetectionResult type2)
SOCKET CreateNonblockingBoundSocket (const char *bindAddr)
int FilterSetComp (const int &key, FilterSet *const &data)
RakNet::Time GetTime (void)
RakNet::TimeMS GetTimeMS (void)
RakNet::TimeUS GetTimeUS (void)
bool GreaterThan (RakNet::Time a, RakNet::Time b)
 a > b?
bool LessThan (RakNet::Time a, RakNet::Time b)
 a < b?
int MessageFilterStrComp (char *const &key, char *const &data)
const char * NATTypeDetectionResultToString (NATTypeDetectionResult type)
 Return a technical string representin the enumeration.
const char * NATTypeDetectionResultToStringFriendly (NATTypeDetectionResult type)
int NatTypeRecvFrom (char *data, SOCKET socket, SystemAddress &sender)
bool NonNumericHostString (const char *host)
template<class Type >
void OP_DELETE (Type *buff, const char *file, unsigned int line)
template<class Type >
void OP_DELETE_ARRAY (Type *buff, const char *file, unsigned int line)
template<class Type >
Type * OP_NEW (const char *file, unsigned int line)
template<class Type , class P1 >
Type * OP_NEW_1 (const char *file, unsigned int line, const P1 &p1)
template<class Type , class P1 , class P2 >
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 >
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 >
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 >
Type * OP_NEW_ARRAY (const int count, const char *file, unsigned int line)
template<class templateType >
BitStreamoperator<< (BitStream &out, templateType &c)
template<class templateType >
BitStreamoperator>> (BitStream &in, templateType &c)
int RegisteredCommandComp (const char *const &key, const RegisteredCommand &data)
 List of commands registered with RegisterCommand()
int SplitPacketChannelComp (SplitPacketIdType const &key, SplitPacketChannel *const &data)
void StatisticsToString (RakNetStatistics *s, char *buffer, int verbosityLevel)
int StrAndBoolComp (char *const &key, const StrAndBool &data)
const RakNetGUID UNASSIGNED_RAKNET_GUID ((uint64_t)-1)

Variables

const int MAX_RPC_MAP_SIZE = ((RPCIndex)-1)-1
const int PING_TIMES_ARRAY_SIZE = 5
static const int RM3_NUM_OUTPUT_BITSTREAM_CHANNELS = 8
const NetworkID UNASSIGNED_NETWORK_ID = (uint64_t) -1
 Unassigned object ID.
const SystemIndex UNASSIGNED_PLAYER_INDEX = 65535
 Index of an unassigned player.
const SystemAddress UNASSIGNED_SYSTEM_ADDRESS
 Index of an invalid SystemAddress.
const int UNDEFINED_RPC_INDEX = ((RPCIndex)-1)

Detailed Description

Forward declaration.

See also:
AutopatcherClient class for database driven patching, including binary deltas and search by date.

To use, first set the path to your application. For example "C:/Games/MyRPG/"
To allow other systems to download files, call AddUploadsFromSubdirectory, where the parameter is a path relative
to the path to your application. This includes subdirectories.
For example:
SetApplicationDirectory("C:/Games/MyRPG/");
AddUploadsFromSubdirectory("Mods/Skins/");
would allow downloads from
"C:/Games/MyRPG/Mods/Skins/*.*" as well as "C:/Games/MyRPG/Mods/Skins/Level1/*.*"
It would NOT allow downloads from C:/Games/MyRPG/Levels, nor would it allow downloads from C:/Windows
While pathToApplication can be anything you want, applicationSubdirectory must match either partially or fully between systems.


Typedef Documentation

Definition at line 89 of file RakNetTypes.h.

typedef unsigned char RakNet::MessageID

Definition at line 87 of file RakNetTypes.h.

This is the counter used for holding packet numbers, so we can detect duplicate packets. It should be large enough that if the variables Internally assumed to be 4 bytes, but written as 3 bytes in ReliabilityLayer::WriteToBitStreamFromInternalPacket

Definition at line 40 of file InternalPacket.h.

Definition at line 400 of file RakNetTypes.h.

Definition at line 19 of file NetworkIDObject.h.

This is the counter used for holding ordered packet numbers, so we can detect out-of-order packets. It should be large enough that if the variables were to wrap, the newly wrapped values would no longer be in use. Warning: Too large of a value wastes bandwidth!

Definition at line 44 of file InternalPacket.h.

Definition at line 62 of file ReliabilityLayer.h.

Definition at line 46 of file InternalPacket.h.

typedef unsigned char RakNet::RPCIndex

Definition at line 82 of file RakNetTypes.h.

Definition at line 35 of file InternalPacket.h.

Definition at line 36 of file InternalPacket.h.

typedef unsigned short RakNet::SystemIndex

Definition at line 81 of file RakNetTypes.h.

Definition at line 16 of file RakNetTime.h.

Definition at line 17 of file RakNetTime.h.

Definition at line 18 of file RakNetTime.h.

typedef unsigned char RakNet::UniqueIDType
See also:
NetworkIDObject.h

Definition at line 80 of file RakNetTypes.h.


Enumeration Type Documentation

Enumerator:
CONNECTION_ATTEMPT_STARTED 
INVALID_PARAMETER 
CANNOT_RESOLVE_DOMAIN_NAME 
ALREADY_CONNECTED_TO_ENDPOINT 
CONNECTION_ATTEMPT_ALREADY_IN_PROGRESS 
SECURITY_INITIALIZATION_FAILED 

Definition at line 46 of file RakNetTypes.h.

Enumerator:
IS_PENDING 

Connect() was called, but the process hasn't started yet.

IS_CONNECTING 

Processing the connection attempt.

IS_CONNECTED 

Is connected and able to communicate.

IS_DISCONNECTING 

Was connected, but will disconnect as soon as the remaining messages are delivered.

IS_SILENTLY_DISCONNECTING 

A connection attempt failed and will be aborted.

IS_DISCONNECTED 

No longer connected.

IS_NOT_CONNECTED 

Was never connected, or else was disconnected long enough ago that the entry has been discarded.

Definition at line 57 of file RakNetTypes.h.

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_UNKNOWN 

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.

Enumerator:
PKM_INSECURE_CONNECTION 

The connection is insecure. You can also just pass 0 for the pointer to PublicKey in RakPeerInterface::Connect()

PKM_ACCEPT_ANY_PUBLIC_KEY 

Accept whatever public key the server gives us. This is vulnerable to man in the middle, but does not require distribution of the public key in advance of connecting.

PKM_USE_KNOWN_PUBLIC_KEY 

Use a known remote server public key. PublicKey::remoteServerPublicKey must be non-zero. This is the recommended mode for secure connections.

PKM_USE_TWO_WAY_AUTHENTICATION 

Use a known remote server public key AND provide a public key for the connecting client. PublicKey::remoteServerPublicKey, myPublicKey and myPrivateKey must be all be non-zero. The server must cooperate for this mode to work. I recommend not using this mode except for server-to-server communication as it significantly increases the CPU requirements during connections for both sides. Furthermore, when it is used, a connection password should be used as well to avoid DoS attacks.

Definition at line 98 of file RakNetTypes.h.

Enumerator:
USER_MESSAGE_BYTES_PUSHED 

How many bytes per pushed via a call to RakPeerInterface::Send()

USER_MESSAGE_BYTES_SENT 

How many user message bytes were sent via a call to RakPeerInterface::Send(). This is less than or equal to USER_MESSAGE_BYTES_PUSHED. A message would be pushed, but not yet sent, due to congestion control

USER_MESSAGE_BYTES_RESENT 

How many user message bytes were resent. A message is resent if it is marked as reliable, and either the message didn't arrive or the message ack didn't arrive.

USER_MESSAGE_BYTES_RECEIVED_PROCESSED 

How many user message bytes were received, and processed successfully.

USER_MESSAGE_BYTES_RECEIVED_IGNORED 

How many user message bytes were received, but ignored due to data format errors. This will usually be 0.

ACTUAL_BYTES_SENT 

How many actual bytes were sent, including per-message and per-datagram overhead, and reliable message acks.

ACTUAL_BYTES_RECEIVED 

How many actual bytes were received, including overead and acks.

RNS_PER_SECOND_METRICS_COUNT 

Definition at line 20 of file RakNetStatistics.h.

Enumerator:
RAKNET_STARTED 
RAKNET_ALREADY_STARTED 
INVALID_SOCKET_DESCRIPTORS 
INVALID_MAX_CONNECTIONS 
SOCKET_FAMILY_NOT_SUPPORTED 
SOCKET_PORT_ALREADY_IN_USE 
SOCKET_FAILED_TO_BIND 
SOCKET_FAILED_TEST_SEND 
PORT_CANNOT_BE_ZERO 
FAILED_TO_CREATE_NETWORK_THREAD 
STARTUP_OTHER_FAILURE 

Definition at line 30 of file RakNetTypes.h.

Enumerator:
UDPFORWARDER_FORWARDING_ALREADY_EXISTS 
UDPFORWARDER_NO_SOCKETS 
UDPFORWARDER_BIND_FAILED 
UDPFORWARDER_INVALID_PARAMETERS 
UDPFORWARDER_SUCCESS 

Definition at line 31 of file UDPForwarder.h.


Function Documentation

void* RakNet::_DLMallocDirectMMap ( size_t  size)
void* RakNet::_DLMallocMMap ( size_t  size)
int RakNet::_DLMallocMUnmap ( void *  p,
size_t  size 
)
void RakNet::_RakFree ( void *  p)
void RakNet::_RakFree_Ex ( void *  p,
const char *  file,
unsigned int  line 
)
void* RakNet::_RakMalloc ( size_t  size)
void* RakNet::_RakMalloc_Ex ( size_t  size,
const char *  file,
unsigned int  line 
)
void* RakNet::_RakRealloc ( void *  p,
size_t  size 
)
void* RakNet::_RakRealloc_Ex ( void *  p,
size_t  size,
const char *  file,
unsigned int  line 
)
bool RakNet::CanConnect ( NATTypeDetectionResult  type1,
NATTypeDetectionResult  type2 
)
Returns:
Can one system with NATTypeDetectionResult type1 connect to type2
SOCKET RakNet::CreateNonblockingBoundSocket ( const char *  bindAddr)
int RakNet::FilterSetComp ( const int &  key,
FilterSet *const &  data 
)
RakNet::Time RakNet::GetTime ( void  )

Same as GetTimeMS Holds the time in either a 32 or 64 bit variable, depending on __GET_TIME_64BIT

RakNet::TimeMS RakNet::GetTimeMS ( void  )

Return the time as 32 bit

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

Return the time as 64 bit

Note:
The maximum delta between returned calls is 1 second - however, RakNet calls this constantly anyway. See NormalizeTime() in the cpp.
bool RakNet::GreaterThan ( RakNet::Time  a,
RakNet::Time  b 
)
bool RakNet::LessThan ( RakNet::Time  a,
RakNet::Time  b 
)
int RakNet::MessageFilterStrComp ( char *const &  key,
char *const &  data 
)
const char* RakNet::NATTypeDetectionResultToString ( NATTypeDetectionResult  type)
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

int RakNet::NatTypeRecvFrom ( char *  data,
SOCKET  socket,
SystemAddress &  sender 
)
bool RakNet::NonNumericHostString ( const char *  host)
template<class Type >
void RakNet::OP_DELETE ( Type *  buff,
const char *  file,
unsigned int  line 
)

Definition at line 169 of file RakMemoryOverride.h.

References GetFree_Ex.

Referenced by DataStructures::SingleProducerConsumer< SingleProducerConsumerType >::Clear(), DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Clear(), DataStructures::OrderedChannelHeap< channel_key_type, heap_data_type, channel_key_comparison_func >::Clear(), DataStructures::CircularLinkedList< CircularLinkedListType >::Clear(), DataStructures::BinarySearchTree< BinarySearchTreeType >::Clear(), DataStructures::Multilist< _MultilistType, _DataType, _KeyType, _IndexType >::ClearPointer(), DataStructures::Multilist< _MultilistType, _DataType, _KeyType, _IndexType >::ClearPointers(), DataStructures::CircularLinkedList< CircularLinkedListType >::Del(), DataStructures::BinarySearchTree< BinarySearchTreeType >::Del(), DataStructures::Tree< TreeType >::DeleteDecendants(), DataStructures::DeletePtr_RakNet(), RefCountedObj::Deref(), RakNet::RakNetSmartPtr< RakNetSocket >::operator=(), DataStructures::OrderedChannelHeap< channel_key_type, heap_data_type, channel_key_comparison_func >::RemoveChannel(), DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::RemoveNode(), RakNet::RakNetSmartPtr< RakNetSocket >::SetNull(), RakNet::RakNetSmartPtr< RakNetSocket >::~RakNetSmartPtr(), and DataStructures::SingleProducerConsumer< SingleProducerConsumerType >::~SingleProducerConsumer().

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        if (buff==0) return;
        buff->~Type();
        (GetFree_Ex())((char*)buff, file, line );
#else
        (void) file;
        (void) line;
        delete buff;
#endif

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

Definition at line 74 of file RakMemoryOverride.h.

References GetMalloc_Ex.

Referenced by DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::AddNode().

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(Type), file, line);
        Type *t = new (buffer) Type;
        return t;
#else
        (void) file;
        (void) line;
        return new Type;
#endif
    }
template<class Type , class P1 >
Type* RakNet::OP_NEW_1 ( const char *  file,
unsigned int  line,
const P1 &  p1 
)

Definition at line 88 of file RakMemoryOverride.h.

References GetMalloc_Ex.

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(Type), file, line);
        Type *t = new (buffer) Type(p1);
        return t;
#else
        (void) file;
        (void) line;
        return new Type(p1);
#endif
    }
template<class Type , class P1 , class P2 >
Type* RakNet::OP_NEW_2 ( const char *  file,
unsigned int  line,
const P1 &  p1,
const P2 &  p2 
)

Definition at line 102 of file RakMemoryOverride.h.

References GetMalloc_Ex.

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(Type), file, line);
        Type *t = new (buffer) Type(p1, p2);
        return t;
#else
        (void) file;
        (void) line;
        return new Type(p1, p2);
#endif
    }
template<class Type , class P1 , class P2 , class P3 >
Type* RakNet::OP_NEW_3 ( const char *  file,
unsigned int  line,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3 
)

Definition at line 116 of file RakMemoryOverride.h.

References GetMalloc_Ex.

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(Type), file, line);
        Type *t = new (buffer) Type(p1, p2, p3);
        return t;
#else
        (void) file;
        (void) line;
        return new Type(p1, p2, p3);
#endif
    }
template<class Type , class P1 , class P2 , class P3 , class P4 >
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 130 of file RakMemoryOverride.h.

References GetMalloc_Ex.

    {
#if _USE_RAK_MEMORY_OVERRIDE==1
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(Type), file, line);
        Type *t = new (buffer) Type(p1, p2, p3, p4);
        return t;
#else
        (void) file;
        (void) line;
        return new Type(p1, p2, p3, p4);
#endif
    }
template<class Type >
Type* RakNet::OP_NEW_ARRAY ( const int  count,
const char *  file,
unsigned int  line 
)

Definition at line 145 of file RakMemoryOverride.h.

References GetMalloc_Ex.

    {
        if (count==0)
            return 0;

#if _USE_RAK_MEMORY_OVERRIDE==1
//      Type *t;
        char *buffer = (char *) (GetMalloc_Ex())(sizeof(int)+sizeof(Type)*count, file, line);
        ((int*)buffer)[0]=count;
        for (int i=0; i<count; i++)
        {
            //t = 
                new(buffer+sizeof(int)+i*sizeof(Type)) Type;
        }
        return (Type *) (buffer+sizeof(int));
#else
        (void) file;
        (void) line;
        return new Type[count];
#endif

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

Definition at line 2011 of file BitStream.h.

References RakNet::BitStream::Write().

    {
        out.Write(c);
        return out;
    }
template<class templateType >
BitStream& RakNet::operator>> ( BitStream &  in,
templateType &  c 
)

Definition at line 2017 of file BitStream.h.

References RakAssert, and RakNet::BitStream::Read().

    {
        bool success = in.Read(c);
        RakAssert(success);
        return in;
    }
int RakNet::RegisteredCommandComp ( const char *const &  key,
const RegisteredCommand &  data 
)
int RakNet::SplitPacketChannelComp ( SplitPacketIdType const &  key,
SplitPacketChannel *const &  data 
)
void RakNet::StatisticsToString ( RakNetStatistics *  s,
char *  buffer,
int  verbosityLevel 
)

Verbosity level currently supports 0 (low), 1 (medium), 2 (high)

Parameters:
[in]sThe Statistical information to format out
[in]bufferThe buffer containing a formated report
[in]verbosityLevel0 low 1 medium 2 high 3 debugging congestion control
int RakNet::StrAndBoolComp ( char *const &  key,
const StrAndBool data 
)
const RakNetGUID RakNet::UNASSIGNED_RAKNET_GUID ( (uint64_t)-  1)

Variable Documentation

const int RakNet::MAX_RPC_MAP_SIZE = ((RPCIndex)-1)-1

Definition at line 83 of file RakNetTypes.h.

Definition at line 437 of file RakNetTypes.h.

Definition at line 272 of file ReplicaManager3.h.

Definition at line 435 of file RakNetTypes.h.

Definition at line 432 of file RakNetTypes.h.

Definition at line 84 of file RakNetTypes.h.


Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net