#include <ConnectionGraph2.h>
Public Member Functions | |
bool | GetConnectionListForRemoteSystem (RakNetGUID remoteSystemGuid, SystemAddress *saOut, RakNetGUID *guidOut, unsigned int *outLength) |
Given a remote system identified by RakNetGUID, return the list of SystemAddresses and RakNetGUIDs they are connected to. | |
bool | ConnectionExists (RakNetGUID g1, RakNetGUID g2) |
Returns if g1 is connected to g2. | |
void | SetAutoProcessNewConnections (bool b) |
If called with false, then new connections are only added to the connection graph when you call ProcessNewConnection();. | |
bool | GetAutoProcessNewConnections (void) const |
Returns value passed to SetAutoProcessNewConnections(). | |
void | AddParticipant (const SystemAddress &systemAddress, RakNetGUID rakNetGUID) |
If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConnection() on new connections. | |
void | GetParticipantList (DataStructures::OrderedList< RakNetGUID, RakNetGUID > &participantList) |
Protected Member Functions | |
virtual void | OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason) |
virtual void | OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming) |
virtual PluginReceiveResult | OnReceive (Packet *packet) |
Sends ID_REMOTE_CONNECTION_LOST, ID_REMOTE_DISCONNECTION_NOTIFICATION, ID_REMOTE_NEW_INCOMING_CONNECTION
All identifiers are followed by SystemAddress, then RakNetGUID Also stores the list for you, which you can access with GetConnectionListForRemoteSystem
void RakNet::ConnectionGraph2::AddParticipant | ( | const SystemAddress & | systemAddress, | |
RakNetGUID | rakNetGUID | |||
) |
If you call SetAutoProcessNewConnections(false);, then you will need to manually call ProcessNewConnection() on new connections.
On ID_NEW_INCOMING_CONNECTION or ID_CONNECTION_REQUEST_ACCEPTED, adds that system to the graph Do not call ProcessNewConnection() manually otherwise
[in] | The | packet->SystemAddress member |
[in] | The | packet->guid member |
bool RakNet::ConnectionGraph2::GetAutoProcessNewConnections | ( | void | ) | const |
Returns value passed to SetAutoProcessNewConnections().
bool RakNet::ConnectionGraph2::GetConnectionListForRemoteSystem | ( | RakNetGUID | remoteSystemGuid, | |
SystemAddress * | saOut, | |||
RakNetGUID * | guidOut, | |||
unsigned int * | outLength | |||
) |
Given a remote system identified by RakNetGUID, return the list of SystemAddresses and RakNetGUIDs they are connected to.
[in] | remoteSystemGuid | Which system we are referring to. This only works for remote systems, not ourselves. |
[out] | saOut | A preallocated array to hold the output list of SystemAddress. Can be 0 if you don't care. |
[out] | guidOut | A preallocated array to hold the output list of RakNetGUID. Can be 0 if you don't care. |
[in,out] | outLength | On input, the size of saOut and guidOut. On output, modified to reflect the number of elements actually written |
void RakNet::ConnectionGraph2::GetParticipantList | ( | DataStructures::OrderedList< RakNetGUID, RakNetGUID > & | participantList | ) |
Get the participants added with AddParticipant()
[out] | participantList | Participants added with AddParticipant(); |
virtual void RakNet::ConnectionGraph2::OnClosedConnection | ( | const SystemAddress & | systemAddress, | |
RakNetGUID | rakNetGUID, | |||
PI2_LostConnectionReason | lostConnectionReason | |||
) | [protected, virtual] |
Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system
[in] | systemAddress | The system whose connection was closed |
[in] | rakNetGuid | The guid of the specified system |
[in] | lostConnectionReason | How the connection was closed: manually, connection lost, or notification of disconnection |
Reimplemented from RakNet::PluginInterface2.
virtual void RakNet::ConnectionGraph2::OnNewConnection | ( | const SystemAddress & | systemAddress, | |
RakNetGUID | rakNetGUID, | |||
bool | isIncoming | |||
) | [protected, virtual] |
Called when we got a new connection
[in] | systemAddress | Address of the new connection |
[in] | rakNetGuid | The guid of the specified system |
[in] | isIncoming | If true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent |
Reimplemented from RakNet::PluginInterface2.
virtual PluginReceiveResult RakNet::ConnectionGraph2::OnReceive | ( | Packet * | packet | ) | [protected, virtual] |
OnReceive is called for every packet.
[in] | packet | the packet that is being returned to the user |
Reimplemented from RakNet::PluginInterface2.
void RakNet::ConnectionGraph2::SetAutoProcessNewConnections | ( | bool | b | ) |
If called with false, then new connections are only added to the connection graph when you call ProcessNewConnection();.
This is useful if you want to perform validation before connecting a system to a mesh, or if you want a submesh (for example a server cloud)
[in] | b | True to automatically call ProcessNewConnection() on any new connection, false to not do so. Defaults to true. |