SLikeNet  0.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SLNet 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

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
 
class  CCRakNetSlidingWindow
 
class  CloudClient
 Performs Post() and Get() operations on CloudMemoryServer. More...
 
class  CloudClientCallback
 
class  CloudAllocator
 
struct  CloudKey
 
struct  CloudQuery
 
struct  CloudQueryRow
 
struct  CloudQueryResult
 
class  CloudServerQueryFilter
 Zero or more instances of CloudServerQueryFilter can be attached to CloudServer to restrict client queries All attached instances of CloudServerQueryFilter on each corresponding operation, from all directly connected clients If any attached instance returns false for a given operation, that operation is silently rejected. More...
 
class  CloudServer
 Stores client data, and allows cross-server communication to retrieve this data. More...
 
class  RakNetCommandParser
 This allows a console client to call most of the functions in RakPeer. More...
 
struct  RegisteredCommand
 
class  CommandParserInterface
 The interface used by command parsers. 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...
 
class  DirectoryDeltaTransfer
 
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  DynDNS
 
class  EmailSender
 Rudimentary class to send email from code. More...
 
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  FLP_Printf
 Implementation of FileListProgress to use RAKNET_DEBUG_PRINTF. More...
 
class  FileList
 
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...
 
class  HTTPConnection
 Use HTTPConnection to communicate with a web server. More...
 
class  HTTPConnection2
 Use HTTPConnection2 to communicate with a web server. More...
 
class  IncrementalReadInterface
 
struct  InternalPacketFixedSizeTransmissionHeader
 
struct  InternalPacketRefCountedData
 Used in InternalPacket when pointing to sharedDataBlock, rather than allocating itself. More...
 
struct  InternalPacket
 
class  LocklessUint32_t
 
class  LogCommandParser
 Adds the ability to send logging output to a remote console. More...
 
struct  FilterSet
 
struct  FilteredSystem
 
class  MessageFilter
 Assigns systems to FilterSets. Each FilterSet limits what kinds of messages are allowed. More...
 
struct  PunchthroughConfiguration
 
struct  NatPunchthroughDebugInterface
 
struct  NatPunchthroughDebugInterface_Printf
 
struct  NatPunchthroughDebugInterface_PacketLogger
 
class  NatPunchthroughClient
 Client code for NATPunchthrough. More...
 
struct  NatPunchthroughServerDebugInterface
 
struct  NatPunchthroughServerDebugInterface_Printf
 
struct  NatPunchthroughServerDebugInterface_PacketLogger
 
class  NatPunchthroughServer
 Server code for NATPunchthrough. More...
 
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...
 
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...
 
struct  RemoteSystemIndex
 
class  RakPeer
 Main interface for network communications. More...
 
class  RakPeerInterface
 The main interface for network communications. More...
 
class  PluginInterface2
 
class  Rackspace2EventCallback
 Callback interface to receive the results of operations. More...
 
class  RackspaceEventCallback_Default
 Callback interface to receive the results of operations, with a default result. More...
 
class  Rackspace
 Code that uses the TCPInterface class to communicate with the Rackspace API servers. More...
 
class  RakNetRandom
 
class  RakNetRandomSync
 
class  ReadyEvent
 Peer to peer synchronized ready and unready events. More...
 
class  RelayPlugin
 A simple class to relay messages from one system to another, identifying remote systems by a string. More...
 
struct  SplitPacketChannel
 
struct  BPSTracker
 
class  ReliabilityLayer
 Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. 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...
 
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...
 
struct  Router2DebugInterface
 
class  Router2
 Class interface for the Router2 system. More...
 
class  RPC4GlobalRegistration
 Instantiate this class globally if you want to register a function with RPC4 at the global space. More...
 
class  RPC4
 The RPC4 plugin is just an association between a C function pointer and a string. More...
 
class  SignaledEvent
 
class  SimpleMutex
 An easy to use mutex. More...
 
class  ReferenceCounter
 
class  RakNetSmartPtr
 
struct  RNS2_SendParameters
 
struct  RNS2RecvStruct
 
class  RakNetSocket2Allocator
 
class  RNS2EventHandler
 
class  RakNetSocket2
 
struct  RNS2_BerkleyBindParameters
 
class  IRNS2_Berkley
 
class  RNS2_Berkley
 
class  RNS2_Linux
 
class  SocketLayer
 
struct  RakNetStatistics
 Network Statisics Usage. More...
 
class  StatisticsHistory
 Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. More...
 
class  StatisticsHistoryPlugin
 Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or all-time values. More...
 
class  RakString
 String class. More...
 
class  StringCompressor
 Writes and reads strings to and from bitstreams. More...
 
class  StringTable
 Writes a string index, instead of the whole string. More...
 
class  TableSerializer
 
class  TCPInterface
 
struct  RemoteClient
 Stores information about a remote client. More...
 
class  TeamBalancer
 Set and network team selection (supports peer to peer or client/server) More...
 
struct  TeamSelection
 Parameter to TM_World::ReferenceTeamMember() More...
 
class  TM_TeamMember
 A member of one or more teams. More...
 
class  TM_Team
 A team, containing a list of TM_TeamMember instances. More...
 
class  TM_World
 Stores a list of teams which may be enforcing a balanced number of members. More...
 
class  TeamManager
 Automates networking and list management for teams. More...
 
class  TelnetTransport
 Use TelnetTransport to easily allow windows telnet to connect to your ConsoleServer. More...
 
class  RakThread
 
class  ThreadsafePacketLogger
 Same as PacketLogger, but writes output in the user thread. More...
 
class  RakNetTransport2
 Use RakNetTransport if you need a secure connection between the client and the console server. More...
 
class  TransportInterface
 Defines an interface that is used to send and receive null-terminated strings. More...
 
class  TwoWayAuthentication
 Implements two way authentication. More...
 
struct  PublicKey
 Passed to RakPeerInterface::Connect() More...
 
struct  SocketDescriptor
 Describes the local socket to use for RakPeer::Startup. More...
 
struct  SystemAddress
 Network address for a system. More...
 
struct  RakNetGUID
 
struct  AddressOrGUID
 
struct  Packet
 This represents a user message from another system. More...
 
struct  uint24_t
 
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> More...
 
class  VariableListDeltaTracker
 
class  RakWString
 String class for Unicode. More...
 
union  TeamSelection.teamParameter
 

Typedefs

typedef uint16_t SplitPacketIdType
 
typedef uint32_t SplitPacketIndexType
 
typedef uint24_t MessageNumberType
 
typedef MessageNumberType OrderingIndexType
 
typedef SLNet::TimeUS RemoteSystemTimeType
 
typedef uint32_t NetworkIDType
 
typedef uint64_t reliabilityHeapWeightType
 
typedef uint8_t WorldId
 
typedef int RNS2Socket
 
typedef int RNS2SendResult
 
typedef double SHValueType
 
typedef unsigned char TeamId
 
typedef unsigned char NoTeamId
 A subcategory of not being on a team. For example, 0 may mean no team for a player, while 1 may mean no team for a spectator. Defined by the user.
 
typedef uint16_t TeamMemberLimit
 
typedef uint8_t JoinPermissions
 
typedef uint64_t Time
 
typedef uint32_t TimeMS
 
typedef uint64_t TimeUS
 
typedef unsigned char UniqueIDType
 
typedef unsigned short SystemIndex
 
typedef unsigned char RPCIndex
 
typedef unsigned char MessageID
 First byte of a network message.
 
typedef uint32_t BitSize_t
 
typedef uint64_t NetworkID
 

Enumerations

enum  DynDnsResultCode {
  RC_SUCCESS, RC_DNS_ALREADY_SET, RC_NO_CHANGE, RC_NOT_DONATOR,
  RC_NO_HOST, RC_BAD_AUTH, RC_NOT_YOURS, RC_ABUSE,
  RC_TCP_FAILED_TO_START, RC_TCP_DID_NOT_CONNECT, RC_UNKNOWN_RESULT, RC_PARSING_FAILURE,
  RC_CONNECTION_LOST_WITHOUT_RESPONSE, RC_BAD_AGENT, RC_BAD_SYS, RC_DNS_ERROR,
  RC_NOT_FQDN, RC_NUM_HOST, RC_911, RC_DYNDNS_TIMEOUT
}
 
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  PluginReceiveResult { RR_STOP_PROCESSING_AND_DEALLOCATE =0, RR_CONTINUE_PROCESSING, RR_STOP_PROCESSING }
 
enum  PI2_LostConnectionReason { LCR_CLOSED_BY_USER, LCR_DISCONNECTION_NOTIFICATION, LCR_CONNECTION_LOST }
 
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  RackspaceEventType {
  RET_Success_200, RET_Success_201, RET_Success_202, RET_Success_203,
  RET_Success_204, RET_Cloud_Servers_Fault_500, RET_Service_Unavailable_503, RET_Unauthorized_401,
  RET_Bad_Request_400, RET_Over_Limit_413, RET_Bad_Media_Type_415, RET_Item_Not_Found_404,
  RET_Build_In_Progress_409, RET_Resize_Not_Allowed_403, RET_Connection_Closed_Without_Reponse, RET_Unknown_Failure
}
 Result codes for Rackspace commands /sa Rackspace::EventTypeToString() More...
 
enum  RackspaceOperationType {
  RO_CONNECT_AND_AUTHENTICATE, RO_LIST_SERVERS, RO_LIST_SERVERS_WITH_DETAILS, RO_CREATE_SERVER,
  RO_GET_SERVER_DETAILS, RO_UPDATE_SERVER_NAME_OR_PASSWORD, RO_DELETE_SERVER, RO_LIST_SERVER_ADDRESSES,
  RO_SHARE_SERVER_ADDRESS, RO_DELETE_SERVER_ADDRESS, RO_REBOOT_SERVER, RO_REBUILD_SERVER,
  RO_RESIZE_SERVER, RO_CONFIRM_RESIZED_SERVER, RO_REVERT_RESIZED_SERVER, RO_LIST_FLAVORS,
  RO_GET_FLAVOR_DETAILS, RO_LIST_IMAGES, RO_CREATE_IMAGE, RO_GET_IMAGE_DETAILS,
  RO_DELETE_IMAGE, RO_LIST_SHARED_IP_GROUPS, RO_LIST_SHARED_IP_GROUPS_WITH_DETAILS, RO_CREATE_SHARED_IP_GROUP,
  RO_GET_SHARED_IP_GROUP_DETAILS, RO_DELETE_SHARED_IP_GROUP, RO_NONE
}
 
enum  ReadyEventSystemStatus {
  RES_NOT_WAITING, RES_WAITING, RES_READY, RES_ALL_READY,
  RES_UNKNOWN_EVENT
}
 
enum  RelayPluginEnums {
  RPE_MESSAGE_TO_SERVER_FROM_CLIENT, RPE_ADD_CLIENT_REQUEST_FROM_CLIENT, RPE_REMOVE_CLIENT_REQUEST_FROM_CLIENT, RPE_GROUP_MESSAGE_FROM_CLIENT,
  RPE_JOIN_GROUP_REQUEST_FROM_CLIENT, RPE_LEAVE_GROUP_REQUEST_FROM_CLIENT, RPE_GET_GROUP_LIST_REQUEST_FROM_CLIENT, RPE_MESSAGE_TO_CLIENT_FROM_SERVER,
  RPE_ADD_CLIENT_NOT_ALLOWED, RPE_ADD_CLIENT_TARGET_NOT_CONNECTED, RPE_ADD_CLIENT_NAME_ALREADY_IN_USE, RPE_ADD_CLIENT_SUCCESS,
  RPE_USER_ENTERED_ROOM, RPE_USER_LEFT_ROOM, RPE_GROUP_MSG_FROM_SERVER, RPE_GET_GROUP_LIST_REPLY_FROM_SERVER,
  RPE_JOIN_GROUP_SUCCESS, RPE_JOIN_GROUP_FAILURE
}
 
enum  SendSerializeIfChangedResult { SSICR_SENT_DATA, SSICR_DID_NOT_SEND_DATA, SSICR_NEVER_SERIALIZE }
 
enum  RM3ConstructionState {
  RM3CS_SEND_CONSTRUCTION, RM3CS_ALREADY_EXISTS_REMOTELY, RM3CS_ALREADY_EXISTS_REMOTELY_DO_NOT_CONSTRUCT, RM3CS_NEVER_CONSTRUCT,
  RM3CS_NO_ACTION, RM3CS_MAX
}
 Return codes for Connection_RM3::GetConstructionState() and Replica3::QueryConstruction() More...
 
enum  RM3DestructionState { RM3DS_SEND_DESTRUCTION, RM3DS_DO_NOT_QUERY_DESTRUCTION, RM3DS_NO_ACTION, RM3DS_MAX }
 
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, RM3SR_MAX
}
 
enum  RM3QuerySerializationResult { RM3QSR_CALL_SERIALIZE, RM3QSR_DO_NOT_CALL_SERIALIZE, RM3QSR_NEVER_CALL_SERIALIZE, RM3QSR_MAX }
 
enum  RM3ActionOnPopConnection { RM3AOPC_DO_NOTHING, RM3AOPC_DELETE_REPLICA, RM3AOPC_DELETE_REPLICA_AND_BROADCAST_DESTRUCTION, RM3AOPC_MAX }
 
enum  Replica3P2PMode {
  R3P2PM_SINGLE_OWNER, R3P2PM_MULTI_OWNER_CURRENTLY_AUTHORITATIVE, R3P2PM_MULTI_OWNER_NOT_CURRENTLY_AUTHORITATIVE, R3P2PM_STATIC_OBJECT_CURRENTLY_AUTHORITATIVE,
  R3P2PM_STATIC_OBJECT_NOT_CURRENTLY_AUTHORITATIVE
}
 
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  RNS2BindResult { BR_SUCCESS, BR_REQUIRES_RAKNET_SUPPORT_IPV6_DEFINE, BR_FAILED_TO_BIND_SOCKET, BR_FAILED_SEND_TEST }
 
enum  RNS2Type {
  RNS2T_WINDOWS_STORE_8, RNS2T_PS3, RNS2T_PS4, RNS2T_CHROME,
  RNS2T_VITA, RNS2T_XBOX_360, RNS2T_XBOX_720, RNS2T_WINDOWS,
  RNS2T_LINUX
}
 
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  JoinTeamType { JOIN_ANY_AVAILABLE_TEAM, JOIN_SPECIFIC_TEAM, JOIN_NO_TEAM }
 
enum  TMTopology { TM_PEER_TO_PEER, TM_CLIENT_SERVER }
 
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, COULD_NOT_GENERATE_GUID, STARTUP_OTHER_FAILURE
}
 
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  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  UDPForwarderResult {
  UDPFORWARDER_FORWARDING_ALREADY_EXISTS, UDPFORWARDER_NO_SOCKETS, UDPFORWARDER_BIND_FAILED, UDPFORWARDER_INVALID_PARAMETERS,
  UDPFORWARDER_NOT_RUNNING, UDPFORWARDER_SUCCESS, UDPFORWARDER_RESULT_COUNT
}
 

Functions

 RAK_THREAD_DECLARATION (UpdateNetworkLoop)
 
 RAK_THREAD_DECLARATION (RecvFromLoop)
 
 RAK_THREAD_DECLARATION (UDTConnect)
 
bool ProcessOfflineNetworkPacket (SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, RakNetSocket2 *rakNetSocket, bool *isOfflineMessage, SLNet::TimeUS timeRead)
 
void ProcessNetworkPacket (SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, SLNet::TimeUS timeRead, BitStream &updateBitStream)
 
void ProcessNetworkPacket (SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, RakNetSocket2 *rakNetSocket, SLNet::TimeUS timeRead, BitStream &updateBitStream)
 
void ProcessNetworkPacket (const SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, SLNet::TimeUS timeRead)
 
template<class templateType >
BitStreamoperator<< (BitStream &out, const templateType &c)
 
template<class templateType >
BitStreamoperator>> (BitStream &in, templateType &c)
 
int CloudKeyComp (const CloudKey &key, const CloudKey &data)
 
int RAK_DLL_EXPORT RegisteredCommandComp (const char *const &key, const RegisteredCommand &data)
 List of commands registered with RegisterCommand()
 
SLNet::Time RAK_DLL_EXPORT GetTime (void)
 
SLNet::TimeMS RAK_DLL_EXPORT GetTimeMS (void)
 
SLNet::TimeUS RAK_DLL_EXPORT GetTimeUS (void)
 
RAK_DLL_EXPORT bool GreaterThan (SLNet::Time a, SLNet::Time b)
 a > b?
 
RAK_DLL_EXPORT bool LessThan (SLNet::Time a, SLNet::Time b)
 a < b?
 
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)
 
int RAK_DLL_EXPORT MessageFilterStrComp (char *const &key, char *const &data)
 
int RAK_DLL_EXPORT FilterSetComp (const int &key, FilterSet *const &data)
 
bool RAK_DLL_EXPORT CanConnect (NATTypeDetectionResult type1, NATTypeDetectionResult type2)
 
RAK_DLL_EXPORT const char * NATTypeDetectionResultToString (NATTypeDetectionResult type)
 Return a technical string representin the enumeration.
 
RAK_DLL_EXPORT const char * NATTypeDetectionResultToStringFriendly (NATTypeDetectionResult type)
 
RAK_DLL_EXPORT RakNetSocket2CreateNonblockingBoundSocket (const char *bindAddr, RNS2EventHandler *eventHandler)
 
int RAK_DLL_EXPORT SplitPacketChannelComp (SplitPacketIdType const &key, SplitPacketChannel *const &data)
 
void RAK_DLL_EXPORT StatisticsToString (RakNetStatistics *s, char *buffer, int verbosityLevel)
 
void RAK_DLL_EXPORT StatisticsToString (RakNetStatistics *s, char *buffer, size_t bufferLength, int verbosityLevel)
 
int RAK_DLL_EXPORT StrAndBoolComp (char *const &key, const StrAndBool &data)
 
bool NonNumericHostString (const char *host)
 
const RakNetGUID UNASSIGNED_RAKNET_GUID ((uint64_t)-1)
 

Variables

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

Detailed Description

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

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.


Class Documentation

struct SLNet::RegisteredCommand

Definition at line 37 of file CommandParserInterface.h.

Class Members
const char * command
const char * commandHelp
unsigned char parameterCount
struct SLNet::FileListNode

Represents once instance of a file.

Definition at line 46 of file FileList.h.

Class Members
FileListNodeContext context User specific data for whatever, describing this file.
char * data File data (may be null if not ready)
BitSize_t dataLengthBytes Length of data. May be greater than fileLength if prepended with a file hash.
unsigned fileLengthBytes Length of the file.
RakString filename Name of the file.
RakString fullPathToFile Full path to the file, which may be different than filename.
bool isAReference If true, data and dataLengthBytes should be empty. This is just storing the filename.
struct SLNet::InternalPacketRefCountedData

Used in InternalPacket when pointing to sharedDataBlock, rather than allocating itself.

Definition at line 76 of file InternalPacket.h.

Class Members
unsigned int refCount
unsigned char * sharedDataBlock
struct SLNet::FilteredSystem

Definition at line 65 of file MessageFilter.h.

Class Members
FilterSet * filter
TimeMS timeEnteredThisSet
struct SLNet::RemoteSystemIndex

Definition at line 52 of file peer.h.

Class Members
unsigned index
RemoteSystemIndex * next
struct SLNet::SplitPacketChannel

Definition at line 69 of file ReliabilityLayer.h.

Class Members
InternalPacket * firstPacket
CCTimeType lastUpdateTime
List< InternalPacket * > splitPacketList
struct SLNet::RNS2RecvStruct

Definition at line 87 of file socket2.h.

Class Members
int bytesRead
char data
RakNetSocket2 * socket
SystemAddress systemAddress
TimeUS timeRead
struct SLNet::RNS2_BerkleyBindParameters

Definition at line 265 of file socket2.h.

Class Members
unsigned short addressFamily
int doNotFragment
RNS2EventHandler * eventHandler
char * hostAddress
bool nonBlockingSocket
int pollingThreadPriority
unsigned short port
int protocol
unsigned short remotePortRakNetWasStartedOn_PS3_PS4_PSP2
int setBroadcast
int setIPHdrIncl
int type
struct SLNet::PublicKey

Passed to RakPeerInterface::Connect()

Definition at line 133 of file types.h.

Class Members
char * myPrivateKey (Optional) Pointer to a private key of length cat::EasyHandshake::PRIVATE_KEY_BYTES
char * myPublicKey (Optional) Pointer to a public key of length cat::EasyHandshake::PUBLIC_KEY_BYTES
PublicKeyMode publicKeyMode How to interpret the public key, see above.
char * remoteServerPublicKey Pointer to a public key of length cat::EasyHandshake::PUBLIC_KEY_BYTES. See the Encryption sample.
struct SLNet::Packet

This represents a user message from another system.

Definition at line 434 of file types.h.

Class Members
BitSize_t bitSize The length of the data in bits.
unsigned char * data The data from the sender.
bool deleteData
RakNetGUID guid A unique identifier for the system that sent this packet, regardless of IP address (internal / external / remote system) Only valid once a connection has been established (ID_CONNECTION_REQUEST_ACCEPTED, or ID_NEW_INCOMING_CONNECTION) Until that time, will be UNASSIGNED_RAKNET_GUID
unsigned int length The length of the data in bytes.
SystemAddress systemAddress The system that send this packet.
bool wasGeneratedLocally

Typedef Documentation

Definition at line 106 of file types.h.

Definition at line 71 of file TeamManager.h.

typedef unsigned char SLNet::MessageID

First byte of a network message.

Definition at line 104 of file types.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 42 of file InternalPacket.h.

Definition at line 431 of file types.h.

Definition at line 31 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 46 of file InternalPacket.h.

Definition at line 65 of file ReliabilityLayer.h.

Definition at line 48 of file InternalPacket.h.

typedef int SLNet::RNS2SendResult

Definition at line 63 of file socket2.h.

typedef int SLNet::RNS2Socket

Definition at line 47 of file socket2.h.

typedef unsigned char SLNet::RPCIndex

Definition at line 99 of file types.h.

typedef double SLNet::SHValueType

Definition at line 40 of file StatisticsHistory.h.

Definition at line 37 of file InternalPacket.h.

Definition at line 38 of file InternalPacket.h.

typedef unsigned short SLNet::SystemIndex

Definition at line 98 of file types.h.

Definition at line 27 of file time.h.

Definition at line 29 of file time.h.

Definition at line 30 of file time.h.

typedef unsigned char SLNet::UniqueIDType
See Also
NetworkIDObject.h

Definition at line 97 of file types.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 63 of file types.h.

Returned from RakPeerInterface::GetConnectionState()

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 74 of file types.h.

Enumerator:
RC_SUCCESS 
RC_DNS_ALREADY_SET 
RC_NO_CHANGE 
RC_NOT_DONATOR 
RC_NO_HOST 
RC_BAD_AUTH 
RC_NOT_YOURS 
RC_ABUSE 
RC_TCP_FAILED_TO_START 
RC_TCP_DID_NOT_CONNECT 
RC_UNKNOWN_RESULT 
RC_PARSING_FAILURE 
RC_CONNECTION_LOST_WITHOUT_RESPONSE 
RC_BAD_AGENT 
RC_BAD_SYS 
RC_DNS_ERROR 
RC_NOT_FQDN 
RC_NUM_HOST 
RC_911 
RC_DYNDNS_TIMEOUT 

Definition at line 35 of file DynDNS.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_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 36 of file NatTypeDetectionCommon.h.

Used with the PublicKey structure.

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 111 of file types.h.

Result codes for Rackspace commands /sa Rackspace::EventTypeToString()

Enumerator:
RET_Success_200 
RET_Success_201 
RET_Success_202 
RET_Success_203 
RET_Success_204 
RET_Cloud_Servers_Fault_500 
RET_Service_Unavailable_503 
RET_Unauthorized_401 
RET_Bad_Request_400 
RET_Over_Limit_413 
RET_Bad_Media_Type_415 
RET_Item_Not_Found_404 
RET_Build_In_Progress_409 
RET_Resize_Not_Allowed_403 
RET_Connection_Closed_Without_Reponse 
RET_Unknown_Failure 

Definition at line 42 of file Rackspace.h.

Enumerator:
RO_CONNECT_AND_AUTHENTICATE 
RO_LIST_SERVERS 
RO_LIST_SERVERS_WITH_DETAILS 
RO_CREATE_SERVER 
RO_GET_SERVER_DETAILS 
RO_UPDATE_SERVER_NAME_OR_PASSWORD 
RO_DELETE_SERVER 
RO_LIST_SERVER_ADDRESSES 
RO_SHARE_SERVER_ADDRESS 
RO_DELETE_SERVER_ADDRESS 
RO_REBOOT_SERVER 
RO_REBUILD_SERVER 
RO_RESIZE_SERVER 
RO_CONFIRM_RESIZED_SERVER 
RO_REVERT_RESIZED_SERVER 
RO_LIST_FLAVORS 
RO_GET_FLAVOR_DETAILS 
RO_LIST_IMAGES 
RO_CREATE_IMAGE 
RO_GET_IMAGE_DETAILS 
RO_DELETE_IMAGE 
RO_LIST_SHARED_IP_GROUPS 
RO_LIST_SHARED_IP_GROUPS_WITH_DETAILS 
RO_CREATE_SHARED_IP_GROUP 
RO_GET_SHARED_IP_GROUP_DETAILS 
RO_DELETE_SHARED_IP_GROUP 
RO_NONE 

Definition at line 63 of file Rackspace.h.

Enumerator:
RPE_MESSAGE_TO_SERVER_FROM_CLIENT 
RPE_ADD_CLIENT_REQUEST_FROM_CLIENT 
RPE_REMOVE_CLIENT_REQUEST_FROM_CLIENT 
RPE_GROUP_MESSAGE_FROM_CLIENT 
RPE_JOIN_GROUP_REQUEST_FROM_CLIENT 
RPE_LEAVE_GROUP_REQUEST_FROM_CLIENT 
RPE_GET_GROUP_LIST_REQUEST_FROM_CLIENT 
RPE_MESSAGE_TO_CLIENT_FROM_SERVER 
RPE_ADD_CLIENT_NOT_ALLOWED 
RPE_ADD_CLIENT_TARGET_NOT_CONNECTED 
RPE_ADD_CLIENT_NAME_ALREADY_IN_USE 
RPE_ADD_CLIENT_SUCCESS 
RPE_USER_ENTERED_ROOM 
RPE_USER_LEFT_ROOM 
RPE_GROUP_MSG_FROM_SERVER 
RPE_GET_GROUP_LIST_REPLY_FROM_SERVER 
RPE_JOIN_GROUP_SUCCESS 
RPE_JOIN_GROUP_FAILURE 

Definition at line 41 of file RelayPlugin.h.

Enumerator:
BR_SUCCESS 
BR_REQUIRES_RAKNET_SUPPORT_IPV6_DEFINE 
BR_FAILED_TO_BIND_SOCKET 
BR_FAILED_SEND_TEST 

Definition at line 55 of file socket2.h.

Enumerator:
RNS2T_WINDOWS_STORE_8 
RNS2T_PS3 
RNS2T_PS4 
RNS2T_CHROME 
RNS2T_VITA 
RNS2T_XBOX_360 
RNS2T_XBOX_720 
RNS2T_WINDOWS 
RNS2T_LINUX 

Definition at line 65 of file socket2.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 returned to the user 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 32 of file statistics.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 
COULD_NOT_GENERATE_GUID 
STARTUP_OTHER_FAILURE 

Definition at line 46 of file types.h.

Enumerator:
UDPFORWARDER_FORWARDING_ALREADY_EXISTS 
UDPFORWARDER_NO_SOCKETS 
UDPFORWARDER_BIND_FAILED 
UDPFORWARDER_INVALID_PARAMETERS 
UDPFORWARDER_NOT_RUNNING 
UDPFORWARDER_SUCCESS 
UDPFORWARDER_RESULT_COUNT 

Definition at line 43 of file UDPForwarder.h.

Function Documentation

void * SLNet::_DLMallocDirectMMap ( size_t  size)

Definition at line 274 of file RakMemoryOverride.cpp.

void * SLNet::_DLMallocMMap ( size_t  size)

Definition at line 273 of file RakMemoryOverride.cpp.

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

Definition at line 275 of file RakMemoryOverride.cpp.

void SLNet::_RakFree ( void *  p)

Definition at line 156 of file RakMemoryOverride.cpp.

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

Definition at line 177 of file RakMemoryOverride.cpp.

void * SLNet::_RakMalloc ( size_t  size)

Definition at line 146 of file RakMemoryOverride.cpp.

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

Definition at line 161 of file RakMemoryOverride.cpp.

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

Definition at line 151 of file RakMemoryOverride.cpp.

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

Definition at line 169 of file RakMemoryOverride.cpp.

bool RAK_DLL_EXPORT SLNet::CanConnect ( NATTypeDetectionResult  type1,
NATTypeDetectionResult  type2 
)
Returns
Can one system with NATTypeDetectionResult type1 connect to type2
int SLNet::CloudKeyComp ( const CloudKey &  key,
const CloudKey &  data 
)
RAK_DLL_EXPORT RakNetSocket2* SLNet::CreateNonblockingBoundSocket ( const char *  bindAddr,
RNS2EventHandler *  eventHandler 
)
int RAK_DLL_EXPORT SLNet::FilterSetComp ( const int &  key,
FilterSet *const &  data 
)
SLNet::Time SLNet::GetTime ( void  )

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

Definition at line 88 of file GetTime.cpp.

References GetTimeUS().

Referenced by SLNet::RakPeer::OnConnectedPong(), SLNet::RakPeer::OnConnectionRequest(), SLNet::RakPeer::Ping(), SLNet::RakPeer::PingInternal(), ProcessOfflineNetworkPacket(), and SLNet::RakPeer::RunUpdateCycle().

SLNet::TimeMS SLNet::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.

Definition at line 92 of file GetTime.cpp.

References GetTimeUS().

Referenced by SLNet::RakPeer::AddToBanList(), SLNet::RakPeer::AssignSystemAddressToRemoteSystemList(), SLNet::RNS2_Berkley::BlockOnStopRecvPollingThread(), SLNet::RakPeer::GetSocket(), SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer(), SLNet::RakPeer::IsBanned(), SLNet::RakPeer::SendConnectionRequest(), and SLNet::RakPeer::Shutdown().

bool SLNet::GreaterThan ( SLNet::Time  a,
SLNet::Time  b 
)

a > b?

Definition at line 225 of file GetTime.cpp.

bool SLNet::LessThan ( SLNet::Time  a,
SLNet::Time  b 
)

a < b?

Definition at line 231 of file GetTime.cpp.

int RAK_DLL_EXPORT SLNet::MessageFilterStrComp ( char *const &  key,
char *const &  data 
)
RAK_DLL_EXPORT const char* SLNet::NATTypeDetectionResultToString ( NATTypeDetectionResult  type)

Return a technical string representin the enumeration.

RAK_DLL_EXPORT const char* SLNet::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

bool SLNet::NonNumericHostString ( const char *  host)

Definition at line 85 of file RakNetTypes.cpp.

Referenced by SLNet::SystemAddress::SetBinaryAddress().

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

Definition at line 182 of file memoryoverride.h.

References GetFree_Ex.

Referenced by DataStructures::Table::AddRow(), SLNet::RakPeer::CancelConnectionAttempt(), DataStructures::OrderedChannelHeap< channel_key_type, heap_data_type, channel_key_comparison_func >::Clear(), DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Clear(), DataStructures::SingleProducerConsumer< SingleProducerConsumerType >::Clear(), DataStructures::BinarySearchTree< BinarySearchTreeType >::Clear(), DataStructures::CircularLinkedList< CircularLinkedListType >::Clear(), SLNet::RakPeer::ClearBanList(), SLNet::RakPeer::ClearBufferedPackets(), DataStructures::Hash< key_type, data_type, HASH_SIZE, hashFunction >::ClearIndex(), DataStructures::Multilist< _MultilistType, _DataType, _KeyType, _IndexType >::ClearPointer(), DataStructures::Multilist< _MultilistType, _DataType, _KeyType, _IndexType >::ClearPointers(), SLNet::RakPeer::ClearRequestedConnectionList(), SLNet::TableSerializer::DeallocateQueryList(), SLNet::PluginInterface2::DeallocPacketUnified(), SLNet::RakNetSocket2Allocator::DeallocRNS2(), DataStructures::BinarySearchTree< BinarySearchTreeType >::Del(), DataStructures::CircularLinkedList< CircularLinkedListType >::Del(), DataStructures::Tree< TreeType >::DeleteDecendants(), DataStructures::DeletePtr_RakNet(), DataStructures::Table::DeleteRow(), RefCountedObj::Deref(), SLNet::RakPeer::DerefAllSockets(), SLNet::RakPeer::DisableSecurity(), SLNet::HuffmanEncodingTree::FreeMemory(), SLNet::RakString::FreeMemoryNoMutex(), FreeRow(), SLNet::StringCompressor::GenerateTreeFromStrings(), SLNet::RakPeer::InitializeSecurity(), SLNet::RakPeer::IsBanned(), SLNet::RakNetSmartPtr< T >::operator=(), DataStructures::Hash< key_type, data_type, HASH_SIZE, hashFunction >::Pop(), ProcessOfflineNetworkPacket(), DataStructures::Hash< key_type, data_type, HASH_SIZE, hashFunction >::RemoveAtIndex(), DataStructures::OrderedChannelHeap< channel_key_type, heap_data_type, channel_key_comparison_func >::RemoveChannel(), DataStructures::Table::RemoveColumn(), SLNet::RakPeer::RemoveFromBanList(), DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::RemoveNode(), SLNet::StringTable::RemoveReference(), SLNet::StringCompressor::RemoveReference(), SLNet::RakPeer::RunUpdateCycle(), SLNet::RakPeer::SendConnectionRequest(), SLNet::RakNetSmartPtr< T >::SetNull(), SLNet::ReliabilityLayer::Update(), SLNet::RakNetSmartPtr< T >::~RakNetSmartPtr(), SLNet::RakPeer::~RakPeer(), DataStructures::SingleProducerConsumer< SingleProducerConsumerType >::~SingleProducerConsumer(), and SLNet::StringCompressor::~StringCompressor().

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

Definition at line 101 of file memoryoverride.h.

References GetMalloc_Ex.

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

Definition at line 115 of file memoryoverride.h.

References GetMalloc_Ex.

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

Definition at line 129 of file memoryoverride.h.

References GetMalloc_Ex.

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

Definition at line 143 of file memoryoverride.h.

References GetMalloc_Ex.

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

Definition at line 158 of file memoryoverride.h.

References GetMalloc_Ex.

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

Definition at line 1864 of file BitStream.h.

References SLNet::BitStream::Write().

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

Definition at line 1870 of file BitStream.h.

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

void SLNet::ProcessNetworkPacket ( const SystemAddress  systemAddress,
const char *  data,
const int  length,
RakPeer rakPeer,
SLNet::TimeUS  timeRead 
)
void SLNet::ProcessNetworkPacket ( SystemAddress  systemAddress,
const char *  data,
const int  length,
RakPeer rakPeer,
SLNet::TimeUS  timeRead,
BitStream updateBitStream 
)

Definition at line 5398 of file RakPeer.cpp.

References SLNet::RakPeer::socketList.

bool SLNet::ProcessOfflineNetworkPacket ( SystemAddress  systemAddress,
const char *  data,
const int  length,
RakPeer rakPeer,
RakNetSocket2 rakNetSocket,
bool *  isOfflineMessage,
SLNet::TimeUS  timeRead 
)

Definition at line 4524 of file RakPeer.cpp.

References _FILE_AND_LINE_, SLNet::RakPeer::RequestedConnectionStruct::actionToTake, SLNet::RakPeer::AddPacketToProducer(), SLNet::SystemAddress::address, SLNet::RakPeer::AllocPacket(), SLNet::RakPeer::AllowIncomingConnections(), SLNet::RakPeer::AssignSystemAddressToRemoteSystemList(), SLNet::Packet::bitSize, BYTES_TO_BITS, CAT_AUDIT_PRINTF, SLNet::RakPeer::RequestedConnectionStruct::CONNECT, SLNet::RakPeer::RemoteSystemStruct::connectMode, SLNet::RNS2_SendParameters::data, SLNet::Packet::data, SLNet::RakPeer::DereferenceRemoteSystem(), SLNet::BitStream::GetData(), SLNet::RakPeer::GetGuidFromSystemAddress(), SLNet::RakPeer::GetIndexFromSystemAddress(), SLNet::BitStream::GetNumberOfBitsUsed(), SLNet::BitStream::GetNumberOfBytesUsed(), SLNet::RakPeer::GetRemoteSystemFromGUID(), SLNet::RakPeer::GetRemoteSystemFromSystemAddress(), GetTime(), SLNet::Packet::guid, ID_ADVERTISE_SYSTEM, ID_ALREADY_CONNECTED, ID_CONNECTION_ATTEMPT_FAILED, ID_CONNECTION_BANNED, ID_CONNECTION_REQUEST, ID_INCOMPATIBLE_PROTOCOL_VERSION, ID_INVALID_PASSWORD, ID_IP_RECENTLY_CONNECTED, ID_NO_FREE_INCOMING_CONNECTIONS, ID_OPEN_CONNECTION_REPLY_1, ID_OPEN_CONNECTION_REPLY_2, ID_OPEN_CONNECTION_REQUEST_1, ID_OPEN_CONNECTION_REQUEST_2, ID_OUR_SYSTEM_REQUIRES_SECURITY, ID_OUT_OF_BAND_INTERNAL, ID_PUBLIC_KEY_MISMATCH, ID_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY, ID_UNCONNECTED_PING, ID_UNCONNECTED_PING_OPEN_CONNECTIONS, ID_UNCONNECTED_PONG, SLNet::BitStream::IgnoreBits(), SLNet::BitStream::IgnoreBytes(), IMMEDIATE_PRIORITY, SLNet::RakPeer::RemoteSystemStruct::isActive, SLNet::RakPeer::IsBanned(), SLNet::RakPeer::IsInSecurityExceptionList(), SLNet::RNS2_SendParameters::length, SLNet::Packet::length, SLNet::SimpleMutex::Lock(), MAX_OFFLINE_DATA_LENGTH, MAXIMUM_MTU_SIZE, SLNet::RakPeer::myGuid, OFFLINE_MESSAGE_DATA_ID, SLNet::RakPeer::offlinePingResponse, SLNet::RakPeer::offlinePingResponse_Mutex, OP_DELETE(), SLNet::RakPeer::RequestedConnectionStruct::outgoingPassword, SLNet::RakPeer::RequestedConnectionStruct::outgoingPasswordLength, PKM_ACCEPT_ANY_PUBLIC_KEY, PKM_USE_TWO_WAY_AUTHENTICATION, SLNet::RakPeer::pluginListNTS, SLNet::RakPeer::RequestedConnectionStruct::publicKeyMode, RakAssert, RAKNET_PROTOCOL_VERSION, SLNet::RakPeer::rakPeerMutexes, SLNet::BitStream::Read(), SLNet::BitStream::ReadAlignedBytes(), SLNet::RakPeer::RemoteSystemStruct::reliabilityLayer, RELIABLE, DataStructures::Queue< queue_type >::RemoveAtIndex(), SLNet::RakPeer::RemoteSystemStruct::REQUESTED_CONNECTION, SLNet::RakPeer::requestedConnectionQueue, SLNet::RakPeer::requestedConnectionQueueMutex, SLNet::BitStream::ResetWritePointer(), SLNet::RakNetSocket2::Send(), SLNet::RakPeer::SendImmediate(), SLNet::ReliabilityLayer::SetTimeoutTime(), DataStructures::Queue< queue_type >::Size(), DataStructures::List< list_type >::Size(), SLNet::RakNetGUID::size(), SLNet::RakPeer::RequestedConnectionStruct::socket, SLNet::RNS2_SendParameters::systemAddress, SLNet::Packet::systemAddress, SLNet::RakPeer::RequestedConnectionStruct::systemAddress, SLNet::SystemAddress::systemIndex, SLNet::RakNetGUID::systemIndex, SLNet::RakPeer::RequestedConnectionStruct::timeoutTime, SLNet::SystemAddress::ToString(), UDP_HEADER_SIZE, UNASSIGNED_RAKNET_GUID(), UNASSIGNED_SYSTEM_ADDRESS, SLNet::SimpleMutex::Unlock(), SLNet::RakPeer::RemoteSystemStruct::UNVERIFIED_SENDER, SLNet::RakPeer::RemoteSystemStruct::weInitiatedTheConnection, SLNet::BitStream::Write(), SLNet::BitStream::WriteAlignedBytes(), and SLNet::BitStream::WriteCasted().

Referenced by ProcessNetworkPacket().

SLNet::RAK_THREAD_DECLARATION ( UpdateNetworkLoop  )
SLNet::RAK_THREAD_DECLARATION ( RecvFromLoop  )
SLNet::RAK_THREAD_DECLARATION ( UDTConnect  )
int SLNet::RegisteredCommandComp ( const char *const &  key,
const RegisteredCommand data 
)

List of commands registered with RegisterCommand()

Definition at line 41 of file CommandParserInterface.cpp.

References SLNet::RegisteredCommand::command.

int SLNet::SplitPacketChannelComp ( SplitPacketIdType const &  key,
SplitPacketChannel *const &  data 
)

Definition at line 246 of file ReliabilityLayer.cpp.

References SLNet::SplitPacketChannel::splitPacketList.

int SLNet::StrAndBoolComp ( char *const &  key,
const StrAndBool data 
)

Definition at line 30 of file StringTable.cpp.

References StrAndBool::str.

Variable Documentation

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

Definition at line 100 of file types.h.

const int SLNet::RM3_NUM_OUTPUT_BITSTREAM_CHANNELS =16
static

Definition at line 356 of file ReplicaManager3.h.

const SystemIndex SLNet::UNASSIGNED_PLAYER_INDEX = 65535

Index of an unassigned player.

Definition at line 463 of file types.h.

const SystemAddress SLNet::UNASSIGNED_SYSTEM_ADDRESS

Index of an invalid SystemAddress.

Definition at line 368 of file types.h.

Referenced by SLNet::AddressOrGUID::AddressOrGUID(), SLNet::PluginInterface2::AllocatePacketUnified(), SLNet::RakPeer::AssignSystemAddressToRemoteSystemList(), SLNet::RakPeer::CloseConnection(), SLNet::RakPeer::CloseConnectionInternal(), SLNet::RakPeer::FillIPList(), SLNet::SystemAddress::FromStringExplicitPort(), SLNet::RakPeer::GetClientPublicKeyFromSystemAddress(), SLNet::RakPeer::GetConnectionState(), SLNet::RakPeer::GetExternalID(), SLNet::SocketLayer::GetFirstBindableIP(), SLNet::RakPeer::GetGuidFromSystemAddress(), SLNet::RakPeer::GetIndexFromSystemAddress(), SLNet::RakPeer::GetInternalID(), SLNet::RakPeer::GetMTUSize(), SLNet::RakPeer::GetMyBoundAddress(), GetMyIP_Win32(), SLNet::RakPeer::GetNumberOfAddresses(), SLNet::RakPeer::GetRemoteSystemFromSystemAddress(), SLNet::RakPeer::GetSockets(), SLNet::RakPeer::GetStatistics(), SLNet::SocketLayer::GetSystemAddress_Old(), SLNet::RakPeer::GetSystemAddressFromGuid(), SLNet::RakPeer::GetSystemAddressFromIndex(), SLNet::RakPeer::GetTimeoutTime(), SLNet::RakPeer::IsLoopbackAddress(), SLNet::AddressOrGUID::IsUndefined(), SLNet::AddressOrGUID::operator=(), SLNet::AddressOrGUID::operator==(), SLNet::RakPeer::ParseConnectionRequestPacket(), SLNet::RakPeer::Ping(), ProcessOfflineNetworkPacket(), SLNet::RakPeer::RakPeer(), SLNet::RakPeer::ReferenceRemoteSystem(), SLNet::RakPeer::RunUpdateCycle(), SLNet::RakPeer::SendImmediate(), SLNet::PluginInterface2::SendUnified(), SLNet::SystemAddress::SetBinaryAddress(), SLNet::RakPeer::SetTimeoutTime(), SLNet::AddressOrGUID::SetUndefined(), SLNet::RakPeer::Startup(), and SLNet::SystemAddress::ToString_Old().

const int SLNet::UNDEFINED_RPC_INDEX =((RPCIndex)-1)

Definition at line 101 of file types.h.