RakNet Namespace Reference
[DirectoryDeltaTransfer]

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  CloudClient
 Performs Post() and Get() operations on CloudMemoryServer. More...
class  CloudClientCallback
class  CloudAllocator
struct  CloudKey
struct  CloudQuery
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  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  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  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  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  FullyConnectedMesh2
 Fully connected mesh plugin, revision 2. More...
class  HTTPConnection
 Use HTTPConnection to communicate with a web server. More...
struct  InternalPacketRefCountedData
 Used in InternalPacket when pointing to sharedDataBlock, rather than allocating itself. More...
struct  InternalPacket
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...
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  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
class  RackspaceEventCallback
 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  RakNetCommandParser
 This allows a console client to call most of the functions in RakPeer. More...
struct  RakNetStatistics
 Network Statisics Usage. More...
class  RakNetTransport2
 Use RakNetTransport if you need a secure connection between the client and the console server. 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  Packet
 This represents a user message from another system. More...
class  RakPeer
 Main interface for network communications. More...
class  RakPeerInterface
 The main interface for network communications. More...
class  RakString
 String class. More...
class  RakWString
 String class for Unicode. More...
class  ReadyEvent
 Peer to peer synchronized ready and unready events. More...
class  ReliabilityLayer
 Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence. More...
class  ReplicaManager3
 System to help automate game object construction, destruction, and serialization. More...
struct  LastSerializationResult
struct  SerializeParameters
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...
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  SimpleMutex
 An easy to use mutex. More...
class  StringCompressor
 Writes and reads strings to and from bitstreams. More...
class  StringTable
 Writes a string index, instead of the whole string. More...
struct  RemoteClient
 Stores information about a remote client. More...
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  TwoWayAuthentication
 Implements two way authentication. 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
class  RakVoice
 Voice compression and transmission interface. More...
class  AutopatcherServerLoadNotifier_Printf
 Sample implementation of AutopatcherServerLoadNotifier using printf. More...
class  AutopatcherServer
 The server plugin for the autopatcher. Must be running for the client to get patches. More...
class  AutopatcherPostgreRepository
class  Lobby2Client
 Class used to send commands to Lobby2Server. More...
struct  Lobby2Message
 A Lobby2Message encapsulates a networked function call from the client. More...
struct  Lobby2Callbacks
struct  Lobby2Printf
struct  IndexedIntegerValue
 Used to unify different platforms for room search and search properties. Only applies if specifically used. More...
struct  IndexedBinaryValue
 Used to unify different platforms for room search and search properties. Only applies if specifically used. More...
struct  Platform_Startup
 Platform specific startup. Unused on the PC. More...
struct  Platform_Shutdown
 Platform specific startup. Unused on the PC. More...
struct  System_CreateDatabase
 Create all tables and stored procedures on a system that does not already have them. More...
struct  System_DestroyDatabase
 Destroy all tables and stored procedures created with System_CreateDatabase. More...
struct  System_CreateTitle
 Each title essentially corresponds to a game. For example, the same lobby system may be used for both asteroids and Pac-man. When logging in, and for some functions, it is necessary to specify which title you are logging in under. This way users playing asteroids do not interact with users playing pac-man, where such interations are game specific (such as ranking). More...
struct  System_DestroyTitle
 Destroy a previously added title. More...
struct  System_GetTitleRequiredAge
 Get the required age set with System_CreateTitle. More...
struct  System_GetTitleBinaryData
 Get the binary data set with System_CreateTitle. More...
struct  System_RegisterProfanity
 Adds the input strings to a table of profanity. non-unique or empty strings can be ignored. This table will be used internally to ensure that handles and clan names do not contain profanity. Multiple calls add to the table. This table will be used for functions that take a user-defined string that is highly visible, such as clan and user names. It does not need to be checked for emails or message boards. More...
struct  System_BanUser
 Bans a specific user (will be most likely called by a moderator). Adds the user's primary key to a ban table, along with the name of the moderator, the reason for the ban. Banning is used to prevent the banned user from logging on for some specified duration. A date column should be present and automatically filled in. When bans are expired, the ban can be deleted from the database. However, a separate table should log bans, so that even expired bans can be looked up in case. More...
struct  System_UnbanUser
 Unban a user banned with System_BanUser. More...
struct  CDKey_Add
 Adds CDKeys to the database. Duplicate CDKeys for a particular title are ignored. CDKeys can be identical for different titles. More...
struct  CDKey_GetStatus
 Returns if a CD key was previously added with AddCDKey. More...
struct  CDKey_Use
 Associates a cd key with a user, such that the cd key cannot be used again. If Client_Login() is called with check cd key as true, then this table will be checked to make sure UserCDKey() was previously called with this user and a valid key. If this user is already associated with a CD Key, add the new key, and use the most recent key. All CD Key usage should be logged in a separate table, including the date used and result. More...
struct  CDKey_FlagStolen
 Flags one or more CD keys as stolen. Stolen CD keys will prevent Client_Login() if check cd key is true. They will also prevent these cd keys from being used with CDKey_Use. If this key is already in use by certain users for this particular title, then log this similarly to how CDKey_Use does so. More...
struct  Client_Login
 Logon with a previously registered account. More...
struct  Client_Logoff
 Logoff, after logging in. More...
struct  Client_RegisterAccount
 This creates a new account in the database, which can be used in a subsequent call to Login. Most parameters are optional. handle is not optional, and must be unique using case-insensitive compare. emailAddress should be validated to have a sensible format, including an @ sign and a period with a 3 letter extension. allowLoginWithoutEmailAddressValidation is used in Client_Login to potentially disallow logon attempts with unverified email addresses. More...
struct  System_SetEmailAddressValidated
 For the client with the given handle, mark a column emailAddressValidated as true or false as appropriate. This is potentially used in Client_Login. More...
struct  Client_ValidateHandle
 Looks up in the database if this handle is already in use, subject to the usual constraints of handles. This will be used by the user to quickly check for available handles. More...
struct  System_DeleteAccount
 Flags as deleted an account registered with RegisterAccount. Accounts are not actually deleted, only tagged as deleted. More...
struct  System_PruneAccounts
 Unused accounts are deleted. This is cascading, such that emails and other tables that reference this key are also deleted. unused accounts are defined as:. More...
struct  Client_GetEmailAddress
 Returns the email address associated with a specific handle, invalid handle. This is used for password recovery. More...
struct  Client_GetPasswordRecoveryQuestionByHandle
 Returns the passwordRecoveryQuestion associated with handle, invalid handle. More...
struct  Client_GetPasswordByPasswordRecoveryAnswer
 Returns the password associated with a handle, if the passwordRecoveryAnswer is correct. More...
struct  Client_ChangeHandle
 Changes the handle for a user. More...
struct  Client_UpdateAccount
 Will update any or all of the inputs that were previously passed to Client_RegisterAccount, except handle. More...
struct  Client_GetAccountDetails
 Get the parameters set with Client_RegisterAccount. More...
struct  Client_StartIgnore
 Adds the specified user to an ignore list for my user. Recommended to store the primary key of the remote user, both for speed and so if the other use changes their handle it still works. The ignore list is checked for friend invites, emails, and elsewhere where indicated. Ignoring is uni-directional, so if A ignores B, A will block messages from B where appropriate, but B will not immediately block messages from A. More...
struct  Client_StopIgnore
 Removes an entry in the database such that myHandle will no longer ignore theirHandle. More...
struct  Client_GetIgnoreList
 Returns all users I have ignored. More...
struct  Client_PerTitleBinaryStorage
 For each combination of user and title, structures can be stored. More...
struct  Client_SetPresence
 Sets in-memory information about your login state, such as which game you are playing, or if you are playing a game Online friends will be notified when you presence changes For the XBOX, just use XUserSetProperty and XUserSetContext directly, as there is no analogue to this function. More...
struct  Client_GetPresence
 Gets in-memory information about a user's login state, such as which game they are playing, or if they are playing a game This can also be a quick way to query if a user is logged in or not. If they are not logged in, presence will be set to Lobby2Presence::NOT_ONLINE. More...
struct  Friends_SendInvite
 Stores in the database an add friend invite from my handle to their handle. The combination of my handle and their handle must be unique, so you cannot send more than one add friend invite to a single user. Sends an email to their handle the subject, body, and binary data. Note: if myHandle is ignored by theirHandle, then the function fails. See Client_StartIgnore. More...
struct  Friends_AcceptInvite
 Stores in the database that this user is now my friend. This is bidirectional, which is to say if someone accepts an add friend invite, they are my friend, and I am their friend. Recommended to store by primary key for speed and in case the friend's handle changes. Store in the emails table from my handle to their handle the subject, body, and binary data. Note: if myHandle is ignored by theirHandle, then the function fails. See AddToIgnoreList. More...
struct  Friends_RejectInvite
 Removes from the database the pending add friend invite. Operation completes even if ignored. Unless ignored, store in the emails table from my handle to their handle the subject, body, binary data, and procedure type flag. More...
struct  Friends_GetInvites
 Returns all invites for this user. More...
struct  Friends_GetFriends
 Gets all friends to this user. More...
struct  Friends_Remove
 Ends a friendship between two users. Remove from the database the friend entry between my handle and their handle. As with accept add friend invite, this is bidirectional. Either user can terminate the friendship. Store in the emails table from my handle to their handle the subject, body, and binary data, and procedure type flag. More...
struct  BookmarkedUsers_Add
 Remembers a user, with a type integer and description for you to use, if desired. More...
struct  BookmarkedUsers_Remove
 Remove a user added with BookmarkedUsers_Add. More...
struct  BookmarkedUsers_Get
 Returns all users added to BookmarkedUsers_Add. More...
struct  Emails_Send
 Adds to an emails table from myHandle (store primary key) to recipient handles (store primary key) the specified subject, body, and binary data. Emails are persistent, therefore emails should be stored in a separate table and referenced by the user. Deleting the user does not delete previously send email. Emails should have an automatic timestamp to store when they were created. Email should be flagged as sent=true (boolean), markedRead=true (boolean), deletedBySender=false (boolean), deletedByReciever=false (boolean). More...
struct  Emails_Get
 Returns emails as noted. Emails which were marked deleted are not returned. More...
struct  Emails_Delete
 Deletes an email with a specified ID. This ID is returned in GetEmail and should uniquely identify an email (it's fine to use the primary key). Note: Emails are not actually deleted from the database in this function. This just sets the deletedBySender or deletedByReciever flags. Emails are actually stored in a log recording past emails and sender and receiver primary key. They are not truly destroyed until done so with System_PruneAccounts. More...
struct  Emails_SetStatus
 Sets the status flag for an email. This is a property defined by and used by the user. More...
struct  Ranking_SubmitMatch
 Will record in the database the results of a match. This will store in the database the the match which is defined by the the match notes, match id, winner and loser participant primary keys, winner and loser participant scores, and binary data. More...
struct  Ranking_GetMatches
 Gets matches recorded with Ranking_SubmitMatch ordered from most recent to least recent. Each returned match has all columns submitted to Ranking_SubmitMatch, except binary data, which can be retrieved with Ranking_GetMatchBinaryData. Additionally, each returned match returns the primary key of each match, to be passed to Ranking_GetMatchBinaryData. More...
struct  Ranking_GetMatchBinaryData
 Because of the large amount of binary data potentially returned, this function is used to retrieve binary data for a particular match. More...
struct  Ranking_GetTotalScore
 When a match is submitted with Ranking_SubmitMatch, the total running score and number of matches played for each player for each game title and game mode combination should be recorded. Because matches can be pruned wth PruneMatches(), the total score sum and number of scores submitted should be stored, rather than summed up from prior submitted matches. More...
struct  Ranking_WipeScoresForPlayer
 Resets the sum of all submitted scores to 0, the number of scores submitted to 0. More...
struct  Ranking_WipeMatches
 Deletes all matches submitted with submit match. Also deletes all scores for all players associated with this titleName and gameType (e.g. same thing that WipeScoresForPlayer does, but for all players). More...
struct  Ranking_PruneMatches
 Will delete all matches submitted with SubmitMatch over PruneTime days old. Will also prune matches if the total storage space of all matches exceeds PruneSizeMB megabytes in the database. More...
struct  Ranking_UpdateRating
 Add or update a rating for a user, in a particular game and game mode. More...
struct  Ranking_WipeRatings
 Deletes all ratings for all players for this combination of titleName and gameType. More...
struct  Ranking_GetRating
 Get rating for a player. More...
struct  Clans_Create
 userHandle updates the clanDescription and clanBinaryData of a clan with the specified clanHandle. userHandle must be the clan leader. More...
struct  Clans_SetProperties
 userHandle updates the clanDescription and clanBinaryData of a clan with the specified clanHandle. userHandle must be the clan leader. More...
struct  Clans_GetProperties
 Returns clanDescription and clanBinaryData for the given clan. More...
struct  Clans_SetMyMemberProperties
 Each member of each clan has the the properties clanMemberDescription and clanMemberBinaryData which default to empty. These properties can be set here, and retrieved via GetClanMemberProperties. More...
struct  Clans_GrantLeader
 myPrimaryKey becomes a subleader. newLeaderHandle becomes the leader. An email is sent with Emails_Send() to all members with the specified subject and body More...
struct  Clans_SetSubleaderStatus
 Promotes a clan member to a subleader, or demotes a subleader to a regular member. On promotion, email is sent to all members from myPrimary key with the specified subject and body. On demotion, email is sent to all leaders from myPrimary key with the specified subject and body. More...
struct  Clans_SetMemberRank
 Lets the clan leader set the rank property for a clan member. More...
struct  Clans_GetMemberProperties
 Returns properties for a clan member of a given clan. More...
struct  Clans_ChangeHandle
 Renames the clan. Note that this may be called asynchronously, in which case the stored procedure should account for this occuring at the same time as another function that uses the old clan handle. More...
struct  Clans_Leave
 Remove user identified by myPrimaryKey from clan identified by clanHandle. More...
struct  Clans_Get
 Returns all clans that userHandle is a member of. Clans and clan members should be sorted by name, using ascending or descending sort as specified. More...
struct  Clans_SendJoinInvitation
 if myPrimaryKey is a leader or subleader of clanHandle, and invitedUserHandle is a valid user not already invited to this clan, add this user to the invite table. The invite table contains the clan, who send the invite, and who the invite was sent to, and when it was sent. Invites expire after expiration time in seconds. Also, use Emails_Send() to send an email from myPrimaryKey to invitedUserHandle with the specified subject and body. More...
struct  Clans_WithdrawJoinInvitation
 if myPrimaryKey is a leader or subleader of clanHandle, and invitedUserHandle is a valid user with an invite to this clan, remove this invite. Also, use Emails_Send() to send an email from myPrimaryKey to invitedUserHandle with the specified subject and body. More...
struct  Clans_AcceptJoinInvitation
 If myPrimaryKey has an invitation to the specified clan, add him to the clan. Fail on specified output parameters. Use Emails_Send() to send an email from myPrimaryKey to all clan members with the specified subject and body. More...
struct  Clans_RejectJoinInvitation
 If we have an open clan invitation, reject it (just delete it from the database). More...
struct  Clans_DownloadInvitationList
 Returns all invites sent by Clans_SendJoinInvitation that were not yet acted upon (withdrawn, accepted, rejected). More...
struct  Clans_SendJoinRequest
 Function has two forms:. More...
struct  Clans_WithdrawJoinRequest
 Withdraws a previously sent clan join request via SendClanJoinRequest. Use Emails_Send() to send an email from myPrimaryKey to the clan leader and all subleaders with the specified subject and body. More...
struct  Clans_AcceptJoinRequest
 A clan leader or subleader accepts a join request from requestingUserHandle to this clan. requestingUserHandle joins the clan as a regular member. Use Emails_Send() to send an email from requestingUserHandle to all clan members with the specified subject and body. More...
struct  Clans_RejectJoinRequest
 Rejects a clan join request from requestingUserHandle. Send an email from myPrimaryKey to requestingUserHandle with the specified subject and body. More...
struct  Clans_DownloadRequestList
 Returns all open requests this user has sent to clans, that have not yet acted upon (withdrawn, accepted, rejected, expired). More...
struct  Clans_KickAndBlacklistUser
 Kicks a user from the clan and/or blacklists a user so they cannot join. Only a clan leader or subleader can perform this operation. The operation can only be performed on members of lower status (leader can perform on subleader or regular member or nonmember, subleader on regular members or nonmember). If a member is banned, they are added to the banned table which contains the member's primary key, which user banned them, and the reason. Email is sent from myPrimaryKey to all leaders if a clan member is banned. Emails is furthermore sent to all clan members if successfully kicked. More...
struct  Clans_UnblacklistUser
 Removes a user from the blacklist for this clan. More...
struct  Clans_GetBlacklist
 Returns a list of all members blacklisted from this clan. Each element in the list contains the handle of the user that did the ban, who was banned, when the user was banned, and the reason passed to ClanKickAndBlacklistUser. More...
struct  Clans_GetMembers
 Returns all clan members for this clan. Each entry returned contains handle, description, binary data, status (leader, regular member, subleader). More...
struct  Clans_GetList
 Returns all clans names. More...
struct  Clans_CreateBoard
 Creates a new clan board for clan members to post in using AddPostToClanBoard. Clan boards are unique, and are destroyed when the clan is destroyed, or if DestroyClanBoard is called. More...
struct  Clans_DestroyBoard
 Success, invalid parameter syntax, myPrimaryKey is not the leader or subleader of clanHandle, unknown myPrimaryKey, unknown clanHandle, unknown clanBoardName. More...
struct  Clans_CreateNewTopic
 Each clan has a clan board that only clan members can post to. This adds a topic to the clan board. Posts should reference the primary key of the poster, so that even if the poster chagnes his or her handle, the post author is updated properly. Each post automatically stores the timestamp when it was created. Banned users may not add new posts to the clan board. More...
struct  Clans_ReplyToTopic
 Replies to a topic created with Clans_CreateTopic(). If postId references a post within a topic, just add the reply to the last post. Banned users may not add new posts to the clan board. More...
struct  Clans_RemovePost
 The clan leader or subleaders may remove posts or topics from a clan board. More...
struct  Clans_GetBoards
 Gets clan boards created for clanHandle. Boards are returned if we are a clan member, or if allowPublicReads in Clans_CreateBoard() was passed as false. However, if we are banned from this clan, no boards are returned. More...
struct  Clans_GetTopics
 Gets topics (posts that are not replies to other posts, created with Clans_CreateTopic()) for the specified clanHandle and clanBoardName. If we are not a clan member and the clan was created with allowPublicReads==false, then the user is not allowed to read topics. More...
struct  Clans_GetPosts
 Gets all posts for a particular topic. If postId is not a topic but is instead a post in a topic, treat it as if the topic postId was passed. If we are not a clan member and the clan was created with allowPublicReads==false, then the user is not allowed to read topics. More...
class  Lobby2Plugin
 Both Lobby2Server and Lobby2Client derive from this class. More...
struct  Lobby2Presence
struct  Lobby2ServerCommand
class  Lobby2Server
 The base class for the lobby server, without database specific functionality. More...
class  Lobby2Server_PGSQL
 PostgreSQL specific functionality to the lobby server. More...
struct  RoomsPluginFunc
 Base class for rooms functionality. More...
struct  CreateRoom_Func
 Create a room. Each user can be in at most one room, so will fail if the user is already in a room. More...
struct  EnterRoom_Func
 Joins a room if possible. If not, creates a room. More...
struct  JoinByFilter_Func
 Joins a room given the filter parameters and desired room member mode. More...
struct  LeaveRoom_Func
 Leaves a room. You can leave at any time, even if the room is locked. More...
struct  GetInvitesToParticipant_Func
struct  SendInvite_Func
 Sends an invitation to someone. More...
struct  AcceptInvite_Func
 Accept an invitation from a user to a room. More...
struct  StartSpectating_Func
 Begin spectating. Spectators are considered room members that are not playing the game, only watching. More...
struct  StopSpectating_Func
 Stop spectating. This will rejoin the room as a player, using a reserved slot if we were invited, and a public slot if not or if there are no reserved slots. More...
struct  GrantModerator_Func
 Give moderator to another player. Moderators cannot be spectators. More...
struct  ChangeSlotCounts_Func
 Change the allowed slot counts for the room. Setting fewer slot counts than the number of players does not kick out players, though it may prevent changing spectator status. More...
struct  SetCustomRoomProperties_Func
 Sets a table of user-defined room properties. More...
struct  GetRoomProperties_Func
 Given a named room, return the properties of that room, including member list. More...
struct  ChangeRoomName_Func
 Change the name of the room. More...
struct  SetHiddenFromSearches_Func
 Set or unset the room hidden from searches. If a room is hidden from searches, it can only be joined through invitations. More...
struct  SetDestroyOnModeratorLeave_Func
 Sets or unsets to destroy the room when the moderator leaves the room. More...
struct  SetReadyStatus_Func
 Sets or unsets the user as flagged 'ready'. More...
struct  GetReadyStatus_Func
 Gets the ready states for every user in the room, excluding spectators. More...
struct  SetRoomLockState_Func
 Lock or unlock the room. More...
struct  GetRoomLockState_Func
 Gets the lock state of the room. More...
struct  AreAllMembersReady_Func
 If all members have been set to ready using SetReadyStatus_Func, this operation will set allReady to true. More...
struct  KickMember_Func
 Kick a member out of the room. This will also automatically ban that member from rejoining as long as the moderator does not change, or the member is unbanned. More...
struct  UnbanMember_Func
 Allow a member previously kicked out of the room to rejoin. More...
struct  GetBanReason_Func
 For a given room, get the reason parameter of KickMember_Func when we were kicked out. More...
struct  AddUserToQuickJoin_Func
 Enter quick join mode. More...
struct  RemoveUserFromQuickJoin_Func
 Leave quick join mode. More...
struct  IsInQuickJoin_Func
 Returns if you are waiting in quick join mode. More...
struct  SearchByFilter_Func
 Return all rooms that pass the roomQuery filter. More...
struct  ChangeHandle_Func
 Change your handle. More...
struct  Chat_Func
 Send a chat message. More...
struct  Bitstream_Func
 Send an arbitrary binary message. More...
struct  RoomsPluginNotification
 Base class for notification callbacks. More...
struct  QuickJoinExpired_Notification
 The quick join duration has expired without joining or creating any rooms. More...
struct  QuickJoinEnteredRoom_Notification
 Quick join succeeded, and you are now in a room. More...
struct  RoomMemberStartedSpectating_Notification
 Another room member has started spectating. More...
struct  RoomMemberStoppedSpectating_Notification
 Another room member has stopped spectating. More...
struct  ModeratorChanged_Notification
 The room has a new moderator (possibly you). More...
struct  SlotCountsSet_Notification
 The slot counts in the room has changed. More...
struct  CustomRoomPropertiesSet_Notification
 The custom properties for the room has changed. More...
struct  RoomNameSet_Notification
 The name of the room has been changed. More...
struct  HiddenFromSearchesSet_Notification
 The room is now hidden, or no longer hidden, from searches. More...
struct  RoomMemberReadyStatusSet_Notification
 Another room member has changed their ready status. More...
struct  RoomLockStateSet_Notification
 The room is now, or is no longer, locked. More...
struct  RoomMemberKicked_Notification
 A room member has been kicked out of the room (possibly you). More...
struct  RoomMemberHandleSet_Notification
 A room member has changed their handle. More...
struct  RoomMemberLeftRoom_Notification
struct  RoomMemberJoinedRoom_Notification
 A room member has joined the room. More...
struct  RoomInvitationSent_Notification
 You have received an invitation to a room. More...
struct  RoomInvitationWithdrawn_Notification
 A previous room invitation is no longer valid (possibly due to moderator change, or the room no longer exists). More...
struct  RoomDestroyedOnModeratorLeft_Notification
 The moderator has left the room, and everyone left is a spectator, or the room was set to be destroyed when the moderator left

You are no longer in the room. More...

struct  Chat_Notification
 You got a chat message from another user. More...
struct  Bitstream_Notification
 You got a generic bitstream message from another user. More...
class  RoomsPlugin
 Used to create rooms for players where they can matchmake. More...
class  AutopatcherMySQLRepository
class  RPC3
 The RPC3 plugin allows you to call remote functions as if they were local functions, using the standard function call syntax. More...
class  SQLite3PluginResultInterface
 Handles results of calls to SQLite3Plugin::_sqlite3_exec() Results from calling SQLite3Plugin::_sqlite3_exec() are handled in this callback. You should implement the callback, and let the plugin know about it via SQLite3Plugin::AddResultHandler() Be sure to call SQLite3Plugin::RemoveResultHandler() or SQLite3Plugin::ClearResultHandlers() if you delete the callback. More...
class  SQLite3PluginResultInterface_Printf
class  SQLite3ClientPlugin
class  SQLite3ServerPlugin
 Exec SQLLite commands over the network. More...

Typedefs

typedef uint24_t MessageNumberType
typedef MessageNumberType OrderingIndexType
typedef unsigned char UniqueIDType
typedef unsigned char MessageID
 First byte of a network message.
typedef unsigned char TeamId

Enumerations

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
}
 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
enum  RackspaceEventType
 Result codes for Rackspace commands /sa Rackspace::EventTypeToString().
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
}
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  ReadyEventSystemStatus {
  RES_NOT_WAITING, RES_WAITING, RES_READY, RES_ALL_READY,
  RES_UNKNOWN_EVENT
}
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  Replica3P2PMode { R3P2PM_SINGLE_OWNER, R3P2PM_MULTI_OWNER_CURRENTLY_AUTHORITATIVE, R3P2PM_MULTI_OWNER_NOT_CURRENTLY_AUTHORITATIVE }
enum  RPCErrorCodes {
  RPC_ERROR_FUNCTION_NOT_REGISTERED, 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
}
 Error codes returned by a remote system as to why an RPC function call cannot execute. More...
enum  Lobby2MessageID
enum  RPCErrorCodes {
  RPC_ERROR_FUNCTION_NOT_REGISTERED, 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
}
 Error codes returned by a remote system as to why an RPC function call cannot execute. More...

Functions

int RAK_DLL_EXPORT RegisteredCommandComp (const char *const &key, const RegisteredCommand &data)
 List of commands registered with RegisterCommand().
RakNet::Time RAK_DLL_EXPORT GetTime (void)
RakNet::TimeMS RAK_DLL_EXPORT GetTimeMS (void)
RakNet::TimeUS RAK_DLL_EXPORT GetTimeUS (void)
RAK_DLL_EXPORT bool GreaterThan (RakNet::Time a, RakNet::Time b)
 a > b?
RAK_DLL_EXPORT bool LessThan (RakNet::Time a, RakNet::Time b)
 a < b?
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)
void RAK_DLL_EXPORT StatisticsToString (RakNetStatistics *s, char *buffer, int verbosityLevel)

Variables

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.


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.


Typedef Documentation

typedef uint24_t RakNet::MessageNumberType

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

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!

typedef unsigned char RakNet::UniqueIDType


Enumeration Type Documentation

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.

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.

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.

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.


Function Documentation

bool RAK_DLL_EXPORT RakNet::CanConnect ( NATTypeDetectionResult  type1,
NATTypeDetectionResult  type2 
)

Returns:
Can one system with NATTypeDetectionResult type1 connect to type2

RakNet::Time RAK_DLL_EXPORT RakNet::GetTime ( void   ) 

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

RakNet::TimeMS RAK_DLL_EXPORT 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 RAK_DLL_EXPORT 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.

RAK_DLL_EXPORT 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

void RAK_DLL_EXPORT RakNet::StatisticsToString ( RakNetStatistics *  s,
char *  buffer,
int  verbosityLevel 
)

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

Parameters:
[in] s The Statistical information to format out
[in] buffer The buffer containing a formated report
[in] verbosityLevel 0 low 1 medium 2 high 3 debugging congestion control


Generated on Wed Feb 1 13:33:47 2012 for RakNet by  doxygen 1.5.7.1