74 enum class ConnectMode :
int {
77 DisconnectAsapSilently = 2,
78 DisconnectOnNoAck = 3,
79 RequestedConnection = 4,
80 HandlingConnectionRequest = 5,
88 ::ll::TypedStorage<1, 1, bool> isActive;
89 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
90 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> myExternalSystemAddress;
91 ::ll::TypedStorage<8, 2720, ::RakNet::SystemAddress[20]> theirInternalSystemAddress;
92 ::ll::TypedStorage<8, 6704, ::RakNet::ReliabilityLayer> reliabilityLayer;
93 ::ll::TypedStorage<1, 1, bool> weInitiatedTheConnection;
94 ::ll::TypedStorage<8, 80, ::RakNet::RakPeer::PingAndClockDifferential[5]> pingAndClockDifferential;
95 ::ll::TypedStorage<8, 8, uint64> pingAndClockDifferentialWriteIndex;
96 ::ll::TypedStorage<2, 2, ushort> lowestPing;
97 ::ll::TypedStorage<8, 8, uint64> nextPingTime;
98 ::ll::TypedStorage<8, 8, uint64> lastReliableSend;
99 ::ll::TypedStorage<8, 8, uint64> connectionTime;
100 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> guid;
101 ::ll::TypedStorage<4, 4, int> MTUSize;
102 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> rakNetSocket;
103 ::ll::TypedStorage<2, 2, ushort> remoteSystemIndex;
104 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectMode;
105 ::ll::TypedStorage<1, 1, bool> applicationHandshakeCompleted;
148 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
149 ::ll::TypedStorage<8, 8, uint64> nextRequestTime;
150 ::ll::TypedStorage<1, 1, uchar> requestsMade;
151 ::ll::TypedStorage<8, 8, char*> data;
152 ::ll::TypedStorage<2, 2, ushort> dataLength;
153 ::ll::TypedStorage<1, 256, char[256]> outgoingPassword;
154 ::ll::TypedStorage<1, 1, uchar> outgoingPasswordLength;
155 ::ll::TypedStorage<4, 4, uint> socketIndex;
156 ::ll::TypedStorage<4, 4, uint> extraData;
157 ::ll::TypedStorage<4, 4, uint> sendConnectionAttemptCount;
158 ::ll::TypedStorage<4, 4, uint> timeBetweenSendConnectionAttemptsMS;
159 ::ll::TypedStorage<4, 4, uint> timeoutTime;
160 ::ll::TypedStorage<4, 4, ::RakNet::PublicKeyMode> publicKeyMode;
161 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
172 ::ll::TypedStorage<4, 4, uint> numberOfBitsToSend;
173 ::ll::TypedStorage<4, 4, ::PacketPriority> priority;
174 ::ll::TypedStorage<4, 4, ::PacketReliability> reliability;
175 ::ll::TypedStorage<1, 1, char> orderingChannel;
176 ::ll::TypedStorage<8, 152, ::RakNet::AddressOrGUID> systemIdentifier;
177 ::ll::TypedStorage<1, 1, bool> broadcast;
178 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectionMode;
179 ::ll::TypedStorage<8, 8, uint64> networkID;
180 ::ll::TypedStorage<1, 1, bool> blockingCommand;
181 ::ll::TypedStorage<8, 8, char*> data;
182 ::ll::TypedStorage<1, 1, bool> haveRakNetCloseSocket;
183 ::ll::TypedStorage<4, 4, uint> connectionSocketIndex;
184 ::ll::TypedStorage<2, 2, ushort> remotePortRakNetWasStartedOn_PS3;
185 ::ll::TypedStorage<4, 4, uint> extraSocketOptions;
186 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
187 ::ll::TypedStorage<2, 2, ushort> port;
188 ::ll::TypedStorage<4, 4, uint> receipt;
193 ChangeSystemAddress = 3,
203 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakNetSocket2*>> sockets;
208 RequestedConnectionListMutex = 0,
209 OfflinePingResponseMutex = 1,
210 NumberOfRakpeerMutexes = 2,
216 ::ll::TypedStorage<1, 1, bool volatile> endThreads;
217 ::ll::TypedStorage<1, 1, bool volatile> isMainLoopThreadActive;
218 ::ll::TypedStorage<1, 1, bool> occasionalPing;
219 ::ll::TypedStorage<4, 4, uint> maximumNumberOfPeers;
220 ::ll::TypedStorage<4, 4, uint> maximumIncomingConnections;
221 ::ll::TypedStorage<8, 288, ::RakNet::BitStream> offlinePingResponse;
222 ::ll::TypedStorage<1, 256, char[256]> incomingPassword;
223 ::ll::TypedStorage<1, 1, uchar> incomingPasswordLength;
224 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct*> remoteSystemList;
225 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct**> activeSystemList;
226 ::ll::TypedStorage<4, 4, uint> activeSystemListSize;
227 ::ll::TypedStorage<8, 8, ::RakNet::RemoteSystemIndex**> remoteSystemLookup;
228 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::RemoteSystemIndex>> remoteSystemIndexPool;
229 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::RakNet::ShadowBanList>> shadowBanList;
230 ::ll::TypedStorage<8, 80, ::RakNet::SimpleMutex[2]> rakPeerMutexes;
231 ::ll::TypedStorage<1, 1, bool> updateCycleIsRunning;
232 ::ll::TypedStorage<4, 4, uint> bytesSentPerSecond;
233 ::ll::TypedStorage<4, 4, uint> bytesReceivedPerSecond;
234 ::ll::TypedStorage<4, 4, uint> validationInteger;
235 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> incomingQueueMutex;
236 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> banListMutex;
237 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakPeer::BanStruct*>> banList;
238 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListTS;
239 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListNTS;
240 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RakPeer::RequestedConnectionStruct*>>
241 requestedConnectionQueue;
242 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> requestedConnectionQueueMutex;
243 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::BufferedCommandStruct>>
245 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsFreePool;
246 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsFreePoolMutex;
247 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsQueue;
248 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsQueueMutex;
249 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::SocketQueryOutput>>
251 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> securityExceptionMutex;
252 ::ll::TypedStorage<4, 4, int> defaultMTUSize;
253 ::ll::TypedStorage<1, 1, bool> trackFrequencyTable;
254 ::ll::TypedStorage<8, 16, ::DataStructures::List<::std::shared_ptr<::RakNet::RakNetSocket2>>> socketList;
255 ::ll::TypedStorage<8, 8, ::RakNet::BitStream*> replyFromTargetBS;
256 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> replyFromTargetPlayer;
257 ::ll::TypedStorage<1, 1, bool> replyFromTargetBroadcast;
258 ::ll::TypedStorage<4, 4, uint> defaultTimeoutTime;
259 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> myGuid;
260 ::ll::TypedStorage<4, 4, uint> maxOutgoingBPS;
261 ::ll::TypedStorage<1, 1, bool> allowConnectionResponseIPMigration;
262 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> firstExternalID;
263 ::ll::TypedStorage<4, 4, int> splitMessageProgressInterval;
264 ::ll::TypedStorage<4, 4, uint> unreliableTimeout;
266 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakString>> securityExceptionList;
267 ::ll::TypedStorage<8, 2856, ::RakNet::SystemAddress[21]> ipList;
268 ::ll::TypedStorage<8, 31592, ::RakNet::NetworkAdapter[11]> adapterList;
269 ::ll::TypedStorage<1, 1, bool> allowInternalRouting;
270 ::ll::TypedStorage<1, 1, bool> allowUnconnectedPings;
272 ::ll::TypedStorage<8, 8, void*> userUpdateThreadData;
273 ::ll::TypedStorage<8, 8, ::RakNet::SignaledEvent> quitAndDataEvents;
274 ::ll::TypedStorage<1, 1, bool> limitConnectionFrequencyFromTheSameIP;
275 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetAllocationPoolMutex;
276 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::Packet>> packetAllocationPool;
277 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetReturnMutex;
278 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::Packet*>> packetReturnQueue;
279 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> sendReceiptSerialMutex;
280 ::ll::TypedStorage<4, 4, uint> sendReceiptSerial;
290 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) ;
293 virtual ::RakNet::StartupResult Startup(
296 uint socketDescriptorCount,
302 InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey) ;
305 virtual void DisableSecurity() ;
308 virtual void AddToSecurityExceptionList(
char const* ip) ;
311 virtual void RemoveFromSecurityExceptionList(
char const* ip) ;
314 virtual bool IsInSecurityExceptionList(
char const* ip) ;
317 virtual void SetMaximumIncomingConnections(ushort numberAllowed) ;
320 virtual uint GetMaximumIncomingConnections() const ;
323 virtual ushort NumberOfConnections() const ;
326 virtual
void SetIncomingPassword(
char const* passwordData,
int passwordDataLength) ;
329 virtual
void GetIncomingPassword(
char* passwordData,
int* passwordDataLength) ;
332 virtual ::RakNet::ConnectionAttemptResult Connect(
335 char const* passwordData,
336 int passwordDataLength,
338 uint connectionSocketIndex,
339 uint sendConnectionAttemptCount,
340 uint timeBetweenSendConnectionAttemptsMS,
345 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
348 char const* passwordData,
349 int passwordDataLength,
352 uint sendConnectionAttemptCount,
353 uint timeBetweenSendConnectionAttemptsMS,
358 virtual
void Shutdown(
360 uchar orderingChannel,
361 ::PacketPriority disconnectionNotificationPriority
365 virtual
bool SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier) ;
368 virtual
bool IsActive() const ;
371 virtual
bool GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const ;
374 virtual uint GetNextSendReceipt() ;
377 virtual uint IncrementNextSendReceipt() ;
383 ::PacketPriority priority,
384 ::PacketReliability reliability,
385 char orderingChannel,
388 uint forceReceiptNumber
394 ::PacketPriority priority,
395 ::PacketReliability reliability,
396 char orderingChannel,
399 uint forceReceiptNumber
403 virtual
void SendLoopback(
char const* data,
int const length) ;
406 virtual uint SendList(
409 int const numParameters,
410 ::PacketPriority priority,
411 ::PacketReliability reliability,
412 char orderingChannel,
415 uint forceReceiptNumber
419 virtual ::RakNet::
Packet* Receive() ;
422 virtual
void DeallocatePacket(::RakNet::
Packet* packet) ;
425 virtual uint GetMaximumNumberOfPeers() const ;
428 virtual
void CloseConnection(
430 bool sendDisconnectionNotification,
431 uchar orderingChannel,
432 ::PacketPriority disconnectionNotificationPriority
436 virtual
void CancelConnectionAttempt(::RakNet::
SystemAddress const target) ;
439 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::
AddressOrGUID const systemIdentifier) ;
442 virtual
int GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress) const ;
445 virtual ::RakNet::
SystemAddress GetSystemAddressFromIndex(uint index) ;
448 virtual ::RakNet::
RakNetGUID GetGUIDFromIndex(uint index) ;
451 virtual
void GetSystemList(
453 ::DataStructures::List<::RakNet::
RakNetGUID>& guids
457 virtual
void AddToBanList(
char const* IP, uint milliseconds) ;
460 virtual
void RemoveFromBanList(
char const* IP) ;
463 virtual
void ClearBanList() ;
466 virtual
bool IsBanned(
char const* IP) ;
469 virtual
void SetLimitIPConnectionFrequency(
bool b) ;
478 bool onlyReplyOnAcceptingConnections,
479 uint connectionSocketIndex
483 virtual
void SendNatTraversalMessage(::RakNet::
SystemAddress const target) ;
486 virtual
int GetAveragePing(::RakNet::
AddressOrGUID const systemIdentifier) ;
489 virtual
int GetLastPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
492 virtual
int GetLowestPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
495 virtual
void SetOccasionalPing(
bool doPing) ;
498 virtual uint64 GetClockDifferential(::RakNet::
AddressOrGUID const systemIdentifier) ;
501 virtual
void SetOfflinePingResponse(
char const* data, uint const length) ;
504 virtual
void GetOfflinePingResponse(
char** data, uint* length) ;
511 virtual
void SetInternalID(::RakNet::
SystemAddress systemAddress,
int index) ;
517 virtual ::RakNet::
RakNetGUID const GetMyGUID() const ;
520 virtual
void resetMyGUID() ;
523 virtual ::RakNet::
SystemAddress GetMyBoundAddress(
int const socketIndex) ;
526 virtual
void SetAllowUnconnectedPings(
bool unconnectedPings) ;
529 virtual
bool GetAllowUnconnectedPings() const ;
539 virtual
bool GetClientPublicKeyFromSystemAddress(::RakNet::
SystemAddress const input,
char* client_public_key) const
543 virtual
void SetTimeoutTime(uint timeMS, ::RakNet::
SystemAddress const target) ;
546 virtual uint GetTimeoutTime(::RakNet::
SystemAddress const target) ;
549 virtual
int GetMTUSize(::RakNet::
SystemAddress const target) const ;
552 virtual uint GetNumberOfAdapters() ;
558 virtual uint GetNumberOfAddresses() ;
561 virtual
char const* GetLocalIP(uint index) ;
564 virtual
bool IsLocalIP(
char const* ip) ;
567 virtual
void AllowConnectionResponseIPMigration(
bool allow) ;
570 virtual
bool AdvertiseSystem(
575 uint connectionSocketIndex
579 virtual
void SetSplitMessageProgressInterval(
int interval) ;
582 virtual
int GetSplitMessageProgressInterval() const ;
585 virtual
void SetUnreliableTimeout(uint timeoutMS) ;
588 virtual
void SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex) ;
597 virtual
void PushBackPacket(::RakNet::
Packet* packet,
bool pushAtHead) ;
604 virtual ::RakNet::
Packet* AllocatePacket(uint dataSize) ;
610 virtual
void GetSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
613 virtual
void ReleaseSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
616 virtual
void WriteOutOfBandHeader(::RakNet::
BitStream* bitStream) ;
619 virtual
void SetUserUpdateThread(
621 void* _userUpdateThreadData
625 virtual
void SetIncomingDatagramEventHandler(
bool (*_incomingDatagramEventHandler)(::RakNet::
RNS2RecvStruct*)
629 virtual
void ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance) ;
632 virtual
void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) ;
635 virtual
bool IsNetworkSimulatorActive() ;
642 virtual
bool GetStatistics(uint const index, ::RakNet::
RakNetStatistics* rns) ;
645 virtual
void GetStatisticsList(
647 ::DataStructures::List<::RakNet::
RakNetGUID>& guids,
652 virtual uint GetReceiveBufferSize() ;
655 virtual
bool RunUpdateCycle(::RakNet::
BitStream& updateBitStream) ;
658 virtual
bool SendOutOfBand(
663 uint connectionSocketIndex
667 virtual
void DeallocRNS2RecvStruct(::RakNet::
RNS2RecvStruct* s,
char const* file, uint line) ;
670 virtual ::RakNet::
RNS2RecvStruct* AllocRNS2RecvStruct(
char const* file, uint line) ;
679 MCAPI
void AddPacketToProducer(::RakNet::
Packet* p);
681 MCAPI ::RakNet::
Packet* AllocPacket(uint dataSize,
char const* file, uint line);
683 MCAPI ::RakNet::
Packet* AllocPacket(uint dataSize, uchar* data,
char const* file, uint line);
685 MCAPI
bool AllowIncomingConnections() const;
687 MCAPI ::RakNet::
RakPeer::RemoteSystemStruct* AssignSystemAddressToRemoteSystemList(
689 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode incomingRakNetSocket,
691 bool* bindingAddress,
699 CallPluginCallbacks(::DataStructures::List<::RakNet::
PluginInterface2*>& pluginList, ::RakNet::
Packet* packet);
701 MCAPI
void ClearBufferedPackets();
703 MCAPI
void ClearRequestedConnectionList();
705 MCAPI
void CloseConnectionInternal(
707 bool sendDisconnectionNotification,
708 bool performImmediate,
709 uchar orderingChannel,
710 ::PacketPriority disconnectionNotificationPriority
713 MCAPI
void DerefAllSockets();
715 MCAPI
void DereferenceRemoteSystem(::RakNet::
SystemAddress const& sa);
717 MCAPI
void FillIPList();
719 MCAPI uint64 GetBestClockDifferential(::RakNet::
SystemAddress systemAddress) const;
721 MCAPI
int GetIndexFromSystemAddress(::RakNet::
SystemAddress systemAddress,
bool calledFromNetworkThread) const;
723 MCAPI ::RakNet::
RakPeer::RemoteSystemStruct* GetRemoteSystemFromSystemAddress(
725 bool calledFromNetworkThread,
729 MCAPI uint GetRemoteSystemIndex(::RakNet::
SystemAddress const& sa) const;
731 MCAPI
bool IsLoopbackAddress(::RakNet::
AddressOrGUID const& systemIdentifier,
bool matchPort) const;
733 MCAPI
void NotifyAndFlagForShutdown(
735 bool performImmediate,
736 uchar orderingChannel,
737 ::PacketPriority disconnectionNotificationPriority
741 OnConnectedPong(uint64 sendPingTime, uint64 sendPongTime, ::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem);
743 MCAPI
void OnConnectionRequest(::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem, uint64 incomingTimestamp);
745 MCAPI
void ParseConnectionRequestPacket(
746 ::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem,
752 MCAPI
void PingInternal(::RakNet::
SystemAddress target,
bool performImmediate, ::PacketReliability reliability);
756 MCAPI
void ReferenceRemoteSystem(::RakNet::
SystemAddress const& sa, uint remoteSystemListIndex);
758 MCAPI
void SendBuffered(
760 uint numberOfBitsToSend,
761 ::PacketPriority priority,
762 ::PacketReliability reliability,
763 char orderingChannel,
766 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
770 MCAPI
void SendBufferedList(
774 ::PacketPriority priority,
775 ::PacketReliability reliability,
776 char orderingChannel,
779 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode receipt,
783 MCAPI ::RakNet::ConnectionAttemptResult SendConnectionRequest(
786 char const* passwordData,
787 int passwordDataLength,
788 ::RakNet::
PublicKey* connectionSocketIndex,
789 uint sendConnectionAttemptCount,
790 uint timeBetweenSendConnectionAttemptsMS,
796 MCAPI ::RakNet::ConnectionAttemptResult SendConnectionRequest(
799 char const* passwordData,
800 int passwordDataLength,
801 ::RakNet::
PublicKey* sendConnectionAttemptCount,
802 uint timeBetweenSendConnectionAttemptsMS,
806 uint connectionSocketIndex,
810 MCAPI
bool SendImmediate(
812 uint numberOfBitsToSend,
813 ::PacketPriority priority,
814 ::PacketReliability reliability,
815 char orderingChannel,
818 bool useCallerDataAllocation,
839 MCAPI
void $InitializeConfiguration(::
std::unique_ptr<::RakNet::
ShadowBanList> banList);
841 MCAPI ::RakNet::StartupResult $Startup(
844 uint socketDescriptorCount,
848 MCFOLD
bool $InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey);
850 MCFOLD
void $DisableSecurity();
852 MCAPI
void $AddToSecurityExceptionList(
char const* ip);
854 MCAPI
void $RemoveFromSecurityExceptionList(
char const* ip);
856 MCAPI
bool $IsInSecurityExceptionList(
char const* ip);
858 MCAPI
void $SetMaximumIncomingConnections(ushort numberAllowed);
860 MCFOLD uint $GetMaximumIncomingConnections() const;
862 MCAPI ushort $NumberOfConnections() const;
864 MCAPI
void $SetIncomingPassword(
char const* passwordData,
int passwordDataLength);
866 MCAPI
void $GetIncomingPassword(
char* passwordData,
int* passwordDataLength);
868 MCAPI ::RakNet::ConnectionAttemptResult $Connect(
871 char const* passwordData,
872 int passwordDataLength,
874 uint connectionSocketIndex,
875 uint sendConnectionAttemptCount,
876 uint timeBetweenSendConnectionAttemptsMS,
880 MCAPI ::RakNet::ConnectionAttemptResult $ConnectWithSocket(
883 char const* passwordData,
884 int passwordDataLength,
887 uint sendConnectionAttemptCount,
888 uint timeBetweenSendConnectionAttemptsMS,
892 MCAPI
void $Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority);
894 MCAPI
bool $SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier);
896 MCAPI
bool $IsActive() const;
898 MCAPI
bool $GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const;
900 MCAPI uint $GetNextSendReceipt();
902 MCAPI uint $IncrementNextSendReceipt();
907 ::PacketPriority priority,
908 ::PacketReliability reliability,
909 char orderingChannel,
912 uint forceReceiptNumber
917 ::PacketPriority priority,
918 ::PacketReliability reliability,
919 char orderingChannel,
922 uint forceReceiptNumber
925 MCAPI
void $SendLoopback(
char const* data,
int const length);
927 MCAPI uint $SendList(
930 int const numParameters,
931 ::PacketPriority priority,
932 ::PacketReliability reliability,
933 char orderingChannel,
936 uint forceReceiptNumber
939 MCAPI ::RakNet::
Packet* $Receive();
941 MCAPI
void $DeallocatePacket(::RakNet::
Packet* packet);
943 MCFOLD uint $GetMaximumNumberOfPeers() const;
945 MCAPI
void $CloseConnection(
947 bool sendDisconnectionNotification,
948 uchar orderingChannel,
949 ::PacketPriority disconnectionNotificationPriority
952 MCAPI
void $CancelConnectionAttempt(::RakNet::
SystemAddress const target);
954 MCAPI ::RakNet::ConnectionState $GetConnectionState(::RakNet::
AddressOrGUID const systemIdentifier);
956 MCAPI
int $GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress) const;
958 MCAPI ::RakNet::
SystemAddress $GetSystemAddressFromIndex(uint index);
960 MCAPI ::RakNet::
RakNetGUID $GetGUIDFromIndex(uint index);
962 MCAPI
void $GetSystemList(
964 ::DataStructures::List<::RakNet::
RakNetGUID>& guids
967 MCAPI
void $AddToBanList(
char const* IP, uint milliseconds);
969 MCAPI
void $RemoveFromBanList(
char const* IP);
971 MCAPI
void $ClearBanList();
973 MCAPI
bool $IsBanned(
char const* IP);
975 MCAPI
void $SetLimitIPConnectionFrequency(
bool b);
980 $Ping(
char const* host, ushort remotePort,
bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex);
982 MCAPI
void $SendNatTraversalMessage(::RakNet::
SystemAddress const target);
984 MCAPI
int $GetAveragePing(::RakNet::
AddressOrGUID const systemIdentifier);
986 MCAPI
int $GetLastPing(::RakNet::
AddressOrGUID const systemIdentifier) const;
988 MCAPI
int $GetLowestPing(::RakNet::
AddressOrGUID const systemIdentifier) const;
990 MCAPI
void $SetOccasionalPing(
bool doPing);
992 MCAPI uint64 $GetClockDifferential(::RakNet::
AddressOrGUID const systemIdentifier);
994 MCAPI
void $SetOfflinePingResponse(
char const* data, uint const length);
996 MCAPI
void $GetOfflinePingResponse(
char** data, uint* length);
1000 MCAPI
void $SetInternalID(::RakNet::
SystemAddress systemAddress,
int index);
1004 MCAPI ::RakNet::
RakNetGUID const $GetMyGUID() const;
1006 MCAPI
void $resetMyGUID();
1008 MCAPI ::RakNet::
SystemAddress $GetMyBoundAddress(
int const socketIndex);
1010 MCAPI
void $SetAllowUnconnectedPings(
bool unconnectedPings);
1012 MCAPI
bool $GetAllowUnconnectedPings() const;
1019 $GetClientPublicKeyFromSystemAddress(::RakNet::
SystemAddress const input,
char* client_public_key) const;
1021 MCAPI
void $SetTimeoutTime(uint timeMS, ::RakNet::
SystemAddress const target);
1023 MCAPI uint $GetTimeoutTime(::RakNet::
SystemAddress const target);
1025 MCAPI
int $GetMTUSize(::RakNet::
SystemAddress const target) const;
1027 MCAPI uint $GetNumberOfAdapters();
1031 MCAPI uint $GetNumberOfAddresses();
1033 MCAPI
char const* $GetLocalIP(uint index);
1035 MCAPI
bool $IsLocalIP(
char const* ip);
1037 MCAPI
void $AllowConnectionResponseIPMigration(
bool allow);
1040 $AdvertiseSystem(
char const* host, ushort remotePort,
char const* data,
int dataLength, uint connectionSocketIndex);
1042 MCAPI
void $SetSplitMessageProgressInterval(
int interval);
1044 MCAPI
int $GetSplitMessageProgressInterval() const;
1046 MCAPI
void $SetUnreliableTimeout(uint timeoutMS);
1048 MCAPI
void $SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex);
1054 MCAPI
void $PushBackPacket(::RakNet::
Packet* packet,
bool pushAtHead);
1058 MCAPI ::RakNet::
Packet* $AllocatePacket(uint dataSize);
1062 MCAPI
void $GetSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets);
1064 MCAPI
void $ReleaseSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets);
1066 MCAPI
void $WriteOutOfBandHeader(::RakNet::
BitStream* bitStream);
1069 $SetUserUpdateThread(
void (*_userUpdateThreadPtr)(::RakNet::
RakPeerInterface*,
void*),
void* _userUpdateThreadData);
1071 MCAPI
void $SetIncomingDatagramEventHandler(
bool (*_incomingDatagramEventHandler)(::RakNet::
RNS2RecvStruct*));
1073 MCFOLD
void $ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance);
1075 MCAPI
void $SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond);
1077 MCFOLD
bool $IsNetworkSimulatorActive();
1082 MCAPI
bool $GetStatistics(uint const index, ::RakNet::
RakNetStatistics* rns);
1084 MCAPI
void $GetStatisticsList(
1086 ::DataStructures::List<::RakNet::
RakNetGUID>& guids,
1090 MCAPI uint $GetReceiveBufferSize();
1092 MCAPI
bool $RunUpdateCycle(::RakNet::
BitStream& updateBitStream);
1095 $SendOutOfBand(
char const* host, ushort remotePort,
char const* data, uint dataLength, uint connectionSocketIndex);
1097 MCAPI
void $DeallocRNS2RecvStruct(::RakNet::
RNS2RecvStruct* s,
char const* file, uint line);
1099 MCAPI ::RakNet::
RNS2RecvStruct* $AllocRNS2RecvStruct(
char const* file, uint line);
1107 MCAPI static
void** $vftableForRakPeerInterface();
1109 MCAPI static
void** $vftableForRNS2EventHandler();