17 #if _RAKNET_SUPPORT_ConnectionGraph2==1
24 using namespace SLNet;
39 if (key.guid<data.guid)
41 if (key.guid>data.guid)
63 if (objectExists==
false)
72 for (idx2=0; idx2 < *outLength; idx2++)
75 guidOut[idx2]=
remoteSystems[idx]->remoteConnections[idx2].guid;
77 saOut[idx2]=
remoteSystems[idx]->remoteConnections[idx2].systemAddress;
88 if (objectExists==
false)
92 SystemAddressAndGuid sag;
108 if (objectExists==
false)
113 SystemAddressAndGuid sag;
116 if (objectExists==
false)
120 return remoteSystems[idx]->remoteConnections[idx2].sendersPingToThatSystem;
126 float lowestPing=-1.0;
127 unsigned int lowestPingIdx=(
unsigned int) -1;
128 float thisAvePing=0.0f;
129 unsigned int idx, idx2;
139 thisAvePing+=(float) ap;
146 lowestPing=thisAvePing/count;
155 for (idx2=0; idx2 < remoteSystem->remoteConnections.Size(); idx2++)
157 ap=remoteSystem->remoteConnections[idx2].sendersPingToThatSystem;
160 thisAvePing+=(float) ap;
165 if (count>0 && (lowestPing==-1.0f || thisAvePing/count < lowestPing))
167 lowestPing=thisAvePing/count;
172 if (lowestPingIdx==(
unsigned int) -1)
185 bs.
Write(systemAddress);
186 bs.
Write(rakNetGUID);
211 bs.
Write(systemAddress);
212 bs.
Write(rakNetGUID);
227 for (i=0; i < addresses.
Size(); i++)
229 if (addresses[i]==systemAddress)
232 bs.
Write(addresses[i]);
249 if (objectExists==
false)
251 RemoteSystem* remoteSystem = SLNet::OP_NEW<RemoteSystem>(
_FILE_AND_LINE_);
252 remoteSystem->guid=rakNetGUID;
271 if (packet->
data[0]==ID_REMOTE_CONNECTION_LOST || packet->
data[0]==ID_REMOTE_DISCONNECTION_NOTIFICATION)
279 SystemAddressAndGuid saag;
280 bs.
Read(saag.systemAddress);
287 else if (packet->
data[0]==ID_REMOTE_NEW_INCOMING_CONNECTION)
296 bs.
Read(numAddresses);
297 for (
unsigned int idx2=0; idx2 < numAddresses; idx2++)
299 SystemAddressAndGuid saag;
300 bs.
Read(saag.systemAddress);
302 bs.
Read(saag.sendersPingToThatSystem);
304 if (objectExists==
false)
313 #endif // _RAKNET_SUPPORT_*