57 RequestedConnectionListMutex = 0,
58 OfflinePingResponseMutex = 1,
59 NumberOfRakpeerMutexes = 2,
66 ::ll::TypedStorage<8, 8, char*> IP;
67 ::ll::TypedStorage<4, 4, uint> timeout;
75 ::ll::TypedStorage<2, 2, ushort> pingTime;
76 ::ll::TypedStorage<8, 8, uint64> clockDifferential;
83 enum class ConnectMode :
int {
86 DisconnectAsapSilently = 2,
87 DisconnectOnNoAck = 3,
88 RequestedConnection = 4,
89 HandlingConnectionRequest = 5,
97 ::ll::TypedStorage<1, 1, bool> isActive;
98 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
99 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> myExternalSystemAddress;
100 ::ll::TypedStorage<8, 2720, ::RakNet::SystemAddress[20]> theirInternalSystemAddress;
101 ::ll::TypedStorage<8, 6704, ::RakNet::ReliabilityLayer> reliabilityLayer;
102 ::ll::TypedStorage<1, 1, bool> weInitiatedTheConnection;
103 ::ll::TypedStorage<8, 80, ::RakNet::RakPeer::PingAndClockDifferential[5]> pingAndClockDifferential;
104 ::ll::TypedStorage<8, 8, uint64> pingAndClockDifferentialWriteIndex;
105 ::ll::TypedStorage<2, 2, ushort> lowestPing;
106 ::ll::TypedStorage<8, 8, uint64> nextPingTime;
107 ::ll::TypedStorage<8, 8, uint64> lastReliableSend;
108 ::ll::TypedStorage<8, 8, uint64> connectionTime;
109 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> guid;
110 ::ll::TypedStorage<4, 4, int> MTUSize;
111 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> rakNetSocket;
112 ::ll::TypedStorage<2, 2, ushort> remoteSystemIndex;
113 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectMode;
114 ::ll::TypedStorage<1, 1, bool> applicationHandshakeCompleted;
122 ::ll::TypedStorage<4, 4, uint> numberOfBitsToSend;
123 ::ll::TypedStorage<4, 4, ::PacketPriority> priority;
124 ::ll::TypedStorage<4, 4, ::PacketReliability> reliability;
125 ::ll::TypedStorage<1, 1, char> orderingChannel;
126 ::ll::TypedStorage<8, 152, ::RakNet::AddressOrGUID> systemIdentifier;
127 ::ll::TypedStorage<1, 1, bool> broadcast;
128 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectionMode;
129 ::ll::TypedStorage<8, 8, uint64> networkID;
130 ::ll::TypedStorage<1, 1, bool> blockingCommand;
131 ::ll::TypedStorage<8, 8, char*> data;
132 ::ll::TypedStorage<1, 1, bool> haveRakNetCloseSocket;
133 ::ll::TypedStorage<4, 4, uint> connectionSocketIndex;
134 ::ll::TypedStorage<2, 2, ushort> remotePortRakNetWasStartedOn_PS3;
135 ::ll::TypedStorage<4, 4, uint> extraSocketOptions;
136 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
137 ::ll::TypedStorage<2, 2, ushort> port;
138 ::ll::TypedStorage<4, 4, uint> receipt;
143 ChangeSystemAddress = 3,
153 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
154 ::ll::TypedStorage<8, 8, uint64> nextRequestTime;
155 ::ll::TypedStorage<1, 1, uchar> requestsMade;
156 ::ll::TypedStorage<8, 8, char*> data;
157 ::ll::TypedStorage<2, 2, ushort> dataLength;
158 ::ll::TypedStorage<1, 256, char[256]> outgoingPassword;
159 ::ll::TypedStorage<1, 1, uchar> outgoingPasswordLength;
160 ::ll::TypedStorage<4, 4, uint> socketIndex;
161 ::ll::TypedStorage<4, 4, uint> extraData;
162 ::ll::TypedStorage<4, 4, uint> sendConnectionAttemptCount;
163 ::ll::TypedStorage<4, 4, uint> timeBetweenSendConnectionAttemptsMS;
164 ::ll::TypedStorage<4, 4, uint> timeoutTime;
165 ::ll::TypedStorage<4, 4, ::RakNet::PublicKeyMode> publicKeyMode;
166 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
177 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakNetSocket2*>> sockets;
184 ::ll::TypedStorage<1, 1, bool volatile> endThreads;
185 ::ll::TypedStorage<1, 1, bool volatile> isMainLoopThreadActive;
186 ::ll::TypedStorage<1, 1, bool> occasionalPing;
187 ::ll::TypedStorage<4, 4, uint> maximumNumberOfPeers;
188 ::ll::TypedStorage<4, 4, uint> maximumIncomingConnections;
189 ::ll::TypedStorage<8, 288, ::RakNet::BitStream> offlinePingResponse;
190 ::ll::TypedStorage<1, 256, char[256]> incomingPassword;
191 ::ll::TypedStorage<1, 1, uchar> incomingPasswordLength;
192 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct*> remoteSystemList;
193 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct**> activeSystemList;
194 ::ll::TypedStorage<4, 4, uint> activeSystemListSize;
195 ::ll::TypedStorage<8, 8, ::RakNet::RemoteSystemIndex**> remoteSystemLookup;
196 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::RemoteSystemIndex>> remoteSystemIndexPool;
197 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::RakNet::ShadowBanList>> shadowBanList;
198 ::ll::TypedStorage<8, 80, ::RakNet::SimpleMutex[2]> rakPeerMutexes;
199 ::ll::TypedStorage<1, 1, bool> updateCycleIsRunning;
200 ::ll::TypedStorage<4, 4, uint> bytesSentPerSecond;
201 ::ll::TypedStorage<4, 4, uint> bytesReceivedPerSecond;
202 ::ll::TypedStorage<4, 4, uint> validationInteger;
203 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> incomingQueueMutex;
204 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> banListMutex;
205 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakPeer::BanStruct*>> banList;
206 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListTS;
207 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListNTS;
208 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RakPeer::RequestedConnectionStruct*>>
209 requestedConnectionQueue;
210 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> requestedConnectionQueueMutex;
211 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::BufferedCommandStruct>>
213 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsFreePool;
214 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsFreePoolMutex;
215 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsQueue;
216 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsQueueMutex;
217 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::SocketQueryOutput>>
219 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> securityExceptionMutex;
220 ::ll::TypedStorage<4, 4, int> defaultMTUSize;
221 ::ll::TypedStorage<1, 1, bool> trackFrequencyTable;
222 ::ll::TypedStorage<8, 16, ::DataStructures::List<::std::shared_ptr<::RakNet::RakNetSocket2>>> socketList;
223 ::ll::TypedStorage<8, 8, ::RakNet::BitStream*> replyFromTargetBS;
224 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> replyFromTargetPlayer;
225 ::ll::TypedStorage<1, 1, bool> replyFromTargetBroadcast;
226 ::ll::TypedStorage<4, 4, uint> defaultTimeoutTime;
227 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> myGuid;
228 ::ll::TypedStorage<4, 4, uint> maxOutgoingBPS;
229 ::ll::TypedStorage<1, 1, bool> allowConnectionResponseIPMigration;
230 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> firstExternalID;
231 ::ll::TypedStorage<4, 4, int> splitMessageProgressInterval;
232 ::ll::TypedStorage<4, 4, uint> unreliableTimeout;
234 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakString>> securityExceptionList;
235 ::ll::TypedStorage<8, 2856, ::RakNet::SystemAddress[21]> ipList;
236 ::ll::TypedStorage<8, 31592, ::RakNet::NetworkAdapter[11]> adapterList;
237 ::ll::TypedStorage<1, 1, bool> allowInternalRouting;
238 ::ll::TypedStorage<1, 1, bool> allowUnconnectedPings;
240 ::ll::TypedStorage<8, 8, void*> userUpdateThreadData;
241 ::ll::TypedStorage<8, 8, ::RakNet::SignaledEvent> quitAndDataEvents;
242 ::ll::TypedStorage<1, 1, bool> limitConnectionFrequencyFromTheSameIP;
243 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetAllocationPoolMutex;
244 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::Packet>> packetAllocationPool;
245 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetReturnMutex;
246 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::Packet*>> packetReturnQueue;
247 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> sendReceiptSerialMutex;
248 ::ll::TypedStorage<4, 4, uint> sendReceiptSerial;
254 virtual ~RakPeer() =
default;
256 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) ;
258 virtual ::RakNet::StartupResult Startup(
261 uint socketDescriptorCount,
266 InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey) ;
268 virtual void DisableSecurity() ;
270 virtual void AddToSecurityExceptionList(
char const* ip) ;
272 virtual void RemoveFromSecurityExceptionList(
char const* ip) ;
274 virtual bool IsInSecurityExceptionList(
char const* ip) ;
276 virtual void SetMaximumIncomingConnections(ushort numberAllowed) ;
278 virtual uint GetMaximumIncomingConnections() const ;
280 virtual ushort NumberOfConnections() const ;
282 virtual
void SetIncomingPassword(
char const* passwordData,
int passwordDataLength) ;
284 virtual
void GetIncomingPassword(
char* passwordData,
int* passwordDataLength) ;
286 virtual ::RakNet::ConnectionAttemptResult Connect(
289 char const* passwordData,
290 int passwordDataLength,
292 uint connectionSocketIndex,
293 uint sendConnectionAttemptCount,
294 uint timeBetweenSendConnectionAttemptsMS,
298 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
301 char const* passwordData,
302 int passwordDataLength,
305 uint sendConnectionAttemptCount,
306 uint timeBetweenSendConnectionAttemptsMS,
310 virtual
void Shutdown(
312 uchar orderingChannel,
313 ::PacketPriority disconnectionNotificationPriority
316 virtual
bool SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier) ;
318 virtual
bool IsActive() const ;
320 virtual
bool GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const ;
322 virtual uint GetNextSendReceipt() ;
324 virtual uint IncrementNextSendReceipt() ;
329 ::PacketPriority priority,
330 ::PacketReliability reliability,
331 char orderingChannel,
334 uint forceReceiptNumber
339 ::PacketPriority priority,
340 ::PacketReliability reliability,
341 char orderingChannel,
344 uint forceReceiptNumber
347 virtual
void SendLoopback(
char const* data,
int const length) ;
349 virtual uint SendList(
352 int const numParameters,
353 ::PacketPriority priority,
354 ::PacketReliability reliability,
355 char orderingChannel,
358 uint forceReceiptNumber
361 virtual ::RakNet::
Packet* Receive() ;
363 virtual
void DeallocatePacket(::RakNet::
Packet* packet) ;
365 virtual uint GetMaximumNumberOfPeers() const ;
367 virtual
void CloseConnection(
369 bool sendDisconnectionNotification,
370 uchar orderingChannel,
371 ::PacketPriority disconnectionNotificationPriority
374 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::
AddressOrGUID const systemIdentifier) ;
376 virtual
int GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress) const ;
378 virtual ::RakNet::
RakNetGUID GetGUIDFromIndex(uint index) ;
380 virtual
void GetSystemList(
382 ::DataStructures::List<::RakNet::
RakNetGUID>& guids
385 virtual
void AddToBanList(
char const* IP, uint milliseconds) ;
387 virtual
void RemoveFromBanList(
char const* IP) ;
389 virtual
void ClearBanList() ;
391 virtual
bool IsBanned(
char const* IP) ;
398 bool onlyReplyOnAcceptingConnections,
399 uint connectionSocketIndex
402 virtual
int GetAveragePing(::RakNet::
AddressOrGUID const systemIdentifier) ;
404 virtual
int GetLastPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
406 virtual
int GetLowestPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
408 virtual
void SetOccasionalPing(
bool doPing) ;
410 virtual uint64 GetClockDifferential(::RakNet::
AddressOrGUID const systemIdentifier) ;
412 virtual
void SetOfflinePingResponse(
char const* data, uint const length) ;
419 virtual ::RakNet::
RakNetGUID const GetMyGUID() const ;
421 virtual
void resetMyGUID() ;
423 virtual ::RakNet::
SystemAddress GetMyBoundAddress(
int const socketIndex) ;
425 virtual
void SetAllowUnconnectedPings(
bool unconnectedPings) ;
427 virtual
bool GetAllowUnconnectedPings() const ;
434 virtual
void SetTimeoutTime(uint timeMS, ::RakNet::
SystemAddress const target) ;
436 virtual uint GetTimeoutTime(::RakNet::
SystemAddress const target) ;
438 virtual
int GetMTUSize(::RakNet::
SystemAddress const target) const ;
440 virtual uint GetNumberOfAdapters() ;
444 virtual uint GetNumberOfAddresses() ;
446 virtual
char const* GetLocalIP(uint index) ;
448 virtual
bool IsLocalIP(
char const* ip) ;
450 virtual
void AllowConnectionResponseIPMigration(
bool allow) ;
452 virtual
bool AdvertiseSystem(
457 uint connectionSocketIndex
460 virtual
void SetSplitMessageProgressInterval(
int interval) ;
462 virtual
int GetSplitMessageProgressInterval() const ;
464 virtual
void SetUnreliableTimeout(uint timeoutMS) ;
466 virtual
void SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex) ;
472 virtual
void PushBackPacket(::RakNet::
Packet* packet,
bool pushAtHead) ;
477 virtual ::RakNet::
Packet* AllocatePacket(uint dataSize) ;
481 virtual
void GetSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
483 virtual
void ReleaseSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
485 virtual
void WriteOutOfBandHeader(::RakNet::
BitStream* bitStream) ;
487 virtual
void SetUserUpdateThread(
489 void* _userUpdateThreadData
493 SetIncomingDatagramEventHandler(
bool (*_incomingDatagramEventHandler)(::RakNet::
RNS2RecvStruct*)) ;
495 virtual
void ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance) ;
497 virtual
void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) ;
499 virtual
bool IsNetworkSimulatorActive() ;
504 virtual
bool GetStatistics(uint const index, ::RakNet::
RakNetStatistics* rns) ;
506 virtual
void GetStatisticsList(
508 ::DataStructures::List<::RakNet::
RakNetGUID>& guids,
512 virtual uint GetReceiveBufferSize() ;
514 virtual
bool RunUpdateCycle(::RakNet::
BitStream& updateBitStream) ;
516 virtual
bool SendOutOfBand(
521 uint connectionSocketIndex
524 virtual
void DeallocRNS2RecvStruct(::RakNet::
RNS2RecvStruct* s,
char const* file, uint line) ;
526 virtual ::RakNet::
RNS2RecvStruct* AllocRNS2RecvStruct(
char const* file, uint line) ;
534 MCAPI
void AddPacketToProducer(::RakNet::
Packet* p);
536 MCAPI ::RakNet::
Packet* AllocPacket(uint dataSize,
char const* file, uint line);
538 MCAPI
bool AllowIncomingConnections() const;
544 bool* thisIPConnectedRecently,
551 MCAPI
void ClearBufferedCommands();
553 MCAPI
void ClearBufferedPackets();
555 MCAPI
void CloseConnectionInternal(
557 bool sendDisconnectionNotification,
558 bool performImmediate,
559 uchar orderingChannel,
560 ::PacketPriority disconnectionNotificationPriority
563 MCAPI
void DereferenceRemoteSystem(::RakNet::
SystemAddress const& sa);
565 MCAPI
void FillIPList();
568 GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress,
bool calledFromNetworkThread) const;
572 bool calledFromNetworkThread,
576 MCAPI uint GetRemoteSystemIndex(::RakNet::
SystemAddress const& sa) const;
578 MCAPI
bool IsLoopbackAddress(::RakNet::
AddressOrGUID const& systemIdentifier,
bool matchPort) const;
580 MCAPI
void NotifyAndFlagForShutdown(
582 bool performImmediate,
583 uchar orderingChannel,
584 ::PacketPriority disconnectionNotificationPriority
587 MCAPI
void OnConnectionRequest(::RakNet::RakPeer::
RemoteSystemStruct* remoteSystem, uint64 incomingTimestamp);
589 MCAPI
void ParseConnectionRequestPacket(
597 PingInternal(::RakNet::
SystemAddress const target,
bool performImmediate, ::PacketReliability reliability);
601 MCAPI
void ReferenceRemoteSystem(::RakNet::
SystemAddress const& sa, uint remoteSystemListIndex);
603 MCAPI
void SendBuffered(
605 uint numberOfBitsToSend,
606 ::PacketPriority priority,
607 ::PacketReliability reliability,
608 char orderingChannel,
615 MCAPI
bool SendImmediate(
617 uint numberOfBitsToSend,
618 ::PacketPriority priority,
619 ::PacketReliability reliability,
620 char orderingChannel,
623 bool useCallerDataAllocation,
633 CallPluginCallbacks(::DataStructures::List<::RakNet::
PluginInterface2*>& pluginList, ::RakNet::
Packet* packet);
645 MCAPI
void $InitializeConfiguration(::
std::unique_ptr<::RakNet::
ShadowBanList> banList);
647 MCAPI ::RakNet::StartupResult $Startup(
650 uint socketDescriptorCount,
654 MCFOLD
bool $InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey);
656 MCFOLD
void $DisableSecurity();
658 MCAPI
void $AddToSecurityExceptionList(
char const* ip);
660 MCAPI
void $RemoveFromSecurityExceptionList(
char const* ip);
662 MCAPI
bool $IsInSecurityExceptionList(
char const* ip);
664 MCAPI
void $SetMaximumIncomingConnections(ushort numberAllowed);
666 MCFOLD uint $GetMaximumIncomingConnections() const;
668 MCAPI ushort $NumberOfConnections() const;
670 MCAPI
void $SetIncomingPassword(
char const* passwordData,
int passwordDataLength);
672 MCAPI
void $GetIncomingPassword(
char* passwordData,
int* passwordDataLength);
674 MCAPI ::RakNet::ConnectionAttemptResult $Connect(
677 char const* passwordData,
678 int passwordDataLength,
680 uint connectionSocketIndex,
681 uint sendConnectionAttemptCount,
682 uint timeBetweenSendConnectionAttemptsMS,
686 MCAPI ::RakNet::ConnectionAttemptResult $ConnectWithSocket(
689 char const* passwordData,
690 int passwordDataLength,
693 uint sendConnectionAttemptCount,
694 uint timeBetweenSendConnectionAttemptsMS,
698 MCAPI
void $Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority);
700 MCAPI
bool $SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier);
702 MCAPI
bool $IsActive() const;
704 MCAPI
bool $GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const;
706 MCAPI uint $GetNextSendReceipt();
708 MCAPI uint $IncrementNextSendReceipt();
713 ::PacketPriority priority,
714 ::PacketReliability reliability,
715 char orderingChannel,
718 uint forceReceiptNumber
723 ::PacketPriority priority,
724 ::PacketReliability reliability,
725 char orderingChannel,
728 uint forceReceiptNumber
731 MCAPI
void $SendLoopback(
char const* data,
int const length);
733 MCAPI uint $SendList(
736 int const numParameters,
737 ::PacketPriority priority,
738 ::PacketReliability reliability,
739 char orderingChannel,
742 uint forceReceiptNumber
745 MCAPI ::RakNet::
Packet* $Receive();
747 MCAPI
void $DeallocatePacket(::RakNet::
Packet* packet);
750 MCAPI uint $GetMaximumNumberOfPeers()
const;
752 MCFOLD uint $GetMaximumNumberOfPeers()
const;
755 MCAPI
void $CloseConnection(
757 bool sendDisconnectionNotification,
758 uchar orderingChannel,
759 ::PacketPriority disconnectionNotificationPriority
766 MCAPI ::RakNet::RakNetGUID $GetGUIDFromIndex(uint index);
768 MCAPI
void $GetSystemList(
773 MCAPI
void $AddToBanList(
char const* IP, uint milliseconds);
775 MCAPI
void $RemoveFromBanList(
char const* IP);
777 MCAPI
void $ClearBanList();
779 MCAPI
bool $IsBanned(
char const* IP);
784 $Ping(
char const* host, ushort remotePort,
bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex);
792 MCAPI
void $SetOccasionalPing(
bool doPing);
796 MCAPI
void $SetOfflinePingResponse(
char const* data, uint
const length);
798 MCAPI ::RakNet::SystemAddress $GetInternalID(
::RakNet::SystemAddress const systemAddress,
int const index)
const;
802 MCAPI ::RakNet::RakNetGUID
const $GetMyGUID()
const;
804 MCAPI
void $resetMyGUID();
806 MCAPI ::RakNet::SystemAddress $GetMyBoundAddress(
int const socketIndex);
808 MCAPI
void $SetAllowUnconnectedPings(
bool unconnectedPings);
810 MCAPI
bool $GetAllowUnconnectedPings()
const;
814 MCAPI ::RakNet::SystemAddress $GetSystemAddressFromGuid(
::RakNet::RakNetGUID const input)
const;
822 MCAPI uint $GetNumberOfAdapters();
824 MCAPI ::RakNet::NetworkAdapter& $GetLocalAdapter(uint index);
826 MCAPI uint $GetNumberOfAddresses();
828 MCAPI
char const* $GetLocalIP(uint index);
830 MCAPI
bool $IsLocalIP(
char const* ip);
832 MCAPI
void $AllowConnectionResponseIPMigration(
bool allow);
835 $AdvertiseSystem(
char const* host, ushort remotePort,
char const* data,
int dataLength, uint connectionSocketIndex);
837 MCAPI
void $SetSplitMessageProgressInterval(
int interval);
839 MCAPI
int $GetSplitMessageProgressInterval()
const;
841 MCAPI
void $SetUnreliableTimeout(uint timeoutMS);
843 MCAPI
void $SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex);
853 MCAPI ::RakNet::Packet* $AllocatePacket(uint dataSize);
868 MCFOLD
void $ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance);
870 MCAPI
void $SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond);
872 MCFOLD
bool $IsNetworkSimulatorActive();
874 MCAPI ::RakNet::RakNetStatistics*
879 MCAPI
void $GetStatisticsList(
885 MCAPI uint $GetReceiveBufferSize();
890 $SendOutOfBand(
char const* host, ushort remotePort,
char const* data, uint dataLength, uint connectionSocketIndex);
894 MCAPI ::RakNet::RNS2RecvStruct* $AllocRNS2RecvStruct(
char const* file, uint line);