60 ::ll::TypedStorage<2, 2, ushort> pingTime;
61 ::ll::TypedStorage<8, 8, uint64> clockDifferential;
68 enum class ConnectMode :
int {
71 DisconnectAsapSilently = 2,
72 DisconnectOnNoAck = 3,
73 RequestedConnection = 4,
74 HandlingConnectionRequest = 5,
82 ::ll::TypedStorage<1, 1, bool> isActive;
83 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
84 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> myExternalSystemAddress;
85 ::ll::TypedStorage<8, 2720, ::RakNet::SystemAddress[20]> theirInternalSystemAddress;
86 ::ll::TypedStorage<8, 6704, ::RakNet::ReliabilityLayer> reliabilityLayer;
87 ::ll::TypedStorage<1, 1, bool> weInitiatedTheConnection;
88 ::ll::TypedStorage<8, 80, ::RakNet::RakPeer::PingAndClockDifferential[5]> pingAndClockDifferential;
89 ::ll::TypedStorage<8, 8, uint64> pingAndClockDifferentialWriteIndex;
90 ::ll::TypedStorage<2, 2, ushort> lowestPing;
91 ::ll::TypedStorage<8, 8, uint64> nextPingTime;
92 ::ll::TypedStorage<8, 8, uint64> lastReliableSend;
93 ::ll::TypedStorage<8, 8, uint64> connectionTime;
94 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> guid;
95 ::ll::TypedStorage<4, 4, int> MTUSize;
96 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> rakNetSocket;
97 ::ll::TypedStorage<2, 2, ushort> remoteSystemIndex;
98 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectMode;
99 ::ll::TypedStorage<1, 1, bool> applicationHandshakeCompleted;
127 ::ll::TypedStorage<8, 8, char*> IP;
128 ::ll::TypedStorage<4, 4, uint> timeout;
136 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
137 ::ll::TypedStorage<8, 8, uint64> nextRequestTime;
138 ::ll::TypedStorage<1, 1, uchar> requestsMade;
139 ::ll::TypedStorage<8, 8, char*> data;
140 ::ll::TypedStorage<2, 2, ushort> dataLength;
141 ::ll::TypedStorage<1, 256, char[256]> outgoingPassword;
142 ::ll::TypedStorage<1, 1, uchar> outgoingPasswordLength;
143 ::ll::TypedStorage<4, 4, uint> socketIndex;
144 ::ll::TypedStorage<4, 4, uint> extraData;
145 ::ll::TypedStorage<4, 4, uint> sendConnectionAttemptCount;
146 ::ll::TypedStorage<4, 4, uint> timeBetweenSendConnectionAttemptsMS;
147 ::ll::TypedStorage<4, 4, uint> timeoutTime;
148 ::ll::TypedStorage<4, 4, ::RakNet::PublicKeyMode> publicKeyMode;
149 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
160 ::ll::TypedStorage<4, 4, uint> numberOfBitsToSend;
161 ::ll::TypedStorage<4, 4, ::PacketPriority> priority;
162 ::ll::TypedStorage<4, 4, ::PacketReliability> reliability;
163 ::ll::TypedStorage<1, 1, char> orderingChannel;
164 ::ll::TypedStorage<8, 152, ::RakNet::AddressOrGUID> systemIdentifier;
165 ::ll::TypedStorage<1, 1, bool> broadcast;
166 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectionMode;
167 ::ll::TypedStorage<8, 8, uint64> networkID;
168 ::ll::TypedStorage<1, 1, bool> blockingCommand;
169 ::ll::TypedStorage<8, 8, char*> data;
170 ::ll::TypedStorage<1, 1, bool> haveRakNetCloseSocket;
171 ::ll::TypedStorage<4, 4, uint> connectionSocketIndex;
172 ::ll::TypedStorage<2, 2, ushort> remotePortRakNetWasStartedOn_PS3;
173 ::ll::TypedStorage<4, 4, uint> extraSocketOptions;
174 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
175 ::ll::TypedStorage<2, 2, ushort> port;
176 ::ll::TypedStorage<4, 4, uint> receipt;
181 ChangeSystemAddress = 3,
191 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakNetSocket2*>> sockets;
196 RequestedConnectionListMutex = 0,
197 OfflinePingResponseMutex = 1,
198 NumberOfRakpeerMutexes = 2,
204 ::ll::TypedStorage<1, 1, bool volatile> endThreads;
205 ::ll::TypedStorage<1, 1, bool volatile> isMainLoopThreadActive;
206 ::ll::TypedStorage<1, 1, bool> occasionalPing;
207 ::ll::TypedStorage<4, 4, uint> maximumNumberOfPeers;
208 ::ll::TypedStorage<4, 4, uint> maximumIncomingConnections;
209 ::ll::TypedStorage<8, 288, ::RakNet::BitStream> offlinePingResponse;
210 ::ll::TypedStorage<1, 256, char[256]> incomingPassword;
211 ::ll::TypedStorage<1, 1, uchar> incomingPasswordLength;
212 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct*> remoteSystemList;
213 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct**> activeSystemList;
214 ::ll::TypedStorage<4, 4, uint> activeSystemListSize;
215 ::ll::TypedStorage<8, 8, ::RakNet::RemoteSystemIndex**> remoteSystemLookup;
216 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::RemoteSystemIndex>> remoteSystemIndexPool;
217 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::RakNet::ShadowBanList>> shadowBanList;
218 ::ll::TypedStorage<8, 80, ::RakNet::SimpleMutex[2]> rakPeerMutexes;
219 ::ll::TypedStorage<1, 1, bool> updateCycleIsRunning;
220 ::ll::TypedStorage<4, 4, uint> bytesSentPerSecond;
221 ::ll::TypedStorage<4, 4, uint> bytesReceivedPerSecond;
222 ::ll::TypedStorage<4, 4, uint> validationInteger;
223 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> incomingQueueMutex;
224 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> banListMutex;
225 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakPeer::BanStruct*>> banList;
226 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListTS;
227 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListNTS;
228 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RakPeer::RequestedConnectionStruct*>>
229 requestedConnectionQueue;
230 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> requestedConnectionQueueMutex;
231 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::BufferedCommandStruct>>
233 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsFreePool;
234 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsFreePoolMutex;
235 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsQueue;
236 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsQueueMutex;
237 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::SocketQueryOutput>>
239 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> securityExceptionMutex;
240 ::ll::TypedStorage<4, 4, int> defaultMTUSize;
241 ::ll::TypedStorage<1, 1, bool> trackFrequencyTable;
242 ::ll::TypedStorage<8, 16, ::DataStructures::List<::std::shared_ptr<::RakNet::RakNetSocket2>>> socketList;
243 ::ll::TypedStorage<8, 8, ::RakNet::BitStream*> replyFromTargetBS;
244 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> replyFromTargetPlayer;
245 ::ll::TypedStorage<1, 1, bool> replyFromTargetBroadcast;
246 ::ll::TypedStorage<4, 4, uint> defaultTimeoutTime;
247 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> myGuid;
248 ::ll::TypedStorage<4, 4, uint> maxOutgoingBPS;
249 ::ll::TypedStorage<1, 1, bool> allowConnectionResponseIPMigration;
250 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> firstExternalID;
251 ::ll::TypedStorage<4, 4, int> splitMessageProgressInterval;
252 ::ll::TypedStorage<4, 4, uint> unreliableTimeout;
254 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakString>> securityExceptionList;
255 ::ll::TypedStorage<8, 2856, ::RakNet::SystemAddress[21]> ipList;
256 ::ll::TypedStorage<8, 31592, ::RakNet::NetworkAdapter[11]> adapterList;
257 ::ll::TypedStorage<1, 1, bool> allowInternalRouting;
258 ::ll::TypedStorage<1, 1, bool> allowUnconnectedPings;
260 ::ll::TypedStorage<8, 8, void*> userUpdateThreadData;
261 ::ll::TypedStorage<8, 8, ::RakNet::SignaledEvent> quitAndDataEvents;
262 ::ll::TypedStorage<1, 1, bool> limitConnectionFrequencyFromTheSameIP;
263 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetAllocationPoolMutex;
264 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::Packet>> packetAllocationPool;
265 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetReturnMutex;
266 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::Packet*>> packetReturnQueue;
267 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> sendReceiptSerialMutex;
268 ::ll::TypedStorage<4, 4, uint> sendReceiptSerial;
278 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) ;
281 virtual ::RakNet::StartupResult Startup(
284 uint socketDescriptorCount,
290 InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey) ;
293 virtual void DisableSecurity() ;
296 virtual void AddToSecurityExceptionList(
char const* ip) ;
299 virtual void RemoveFromSecurityExceptionList(
char const* ip) ;
302 virtual bool IsInSecurityExceptionList(
char const* ip) ;
305 virtual void SetMaximumIncomingConnections(ushort numberAllowed) ;
308 virtual uint GetMaximumIncomingConnections() const ;
311 virtual ushort NumberOfConnections() const ;
314 virtual
void SetIncomingPassword(
char const* passwordData,
int passwordDataLength) ;
317 virtual
void GetIncomingPassword(
char* passwordData,
int* passwordDataLength) ;
320 virtual ::RakNet::ConnectionAttemptResult Connect(
323 char const* passwordData,
324 int passwordDataLength,
326 uint connectionSocketIndex,
327 uint sendConnectionAttemptCount,
328 uint timeBetweenSendConnectionAttemptsMS,
333 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
336 char const* passwordData,
337 int passwordDataLength,
340 uint sendConnectionAttemptCount,
341 uint timeBetweenSendConnectionAttemptsMS,
346 virtual
void Shutdown(
348 uchar orderingChannel,
349 ::PacketPriority disconnectionNotificationPriority
353 virtual
bool SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier) ;
356 virtual
bool IsActive() const ;
359 virtual
bool GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const ;
362 virtual uint GetNextSendReceipt() ;
365 virtual uint IncrementNextSendReceipt() ;
371 ::PacketPriority priority,
372 ::PacketReliability reliability,
373 char orderingChannel,
376 uint forceReceiptNumber
382 ::PacketPriority priority,
383 ::PacketReliability reliability,
384 char orderingChannel,
387 uint forceReceiptNumber
391 virtual
void SendLoopback(
char const* data,
int const length) ;
394 virtual uint SendList(
397 int const numParameters,
398 ::PacketPriority priority,
399 ::PacketReliability reliability,
400 char orderingChannel,
403 uint forceReceiptNumber
407 virtual ::RakNet::
Packet* Receive() ;
410 virtual
void DeallocatePacket(::RakNet::
Packet* packet) ;
413 virtual uint GetMaximumNumberOfPeers() const ;
416 virtual
void CloseConnection(
418 bool sendDisconnectionNotification,
419 uchar orderingChannel,
420 ::PacketPriority disconnectionNotificationPriority
424 virtual
void CancelConnectionAttempt(::RakNet::
SystemAddress const target) ;
427 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::
AddressOrGUID const systemIdentifier) ;
430 virtual
int GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress) const ;
433 virtual ::RakNet::
SystemAddress GetSystemAddressFromIndex(uint index) ;
436 virtual ::RakNet::
RakNetGUID GetGUIDFromIndex(uint index) ;
439 virtual
void GetSystemList(
441 ::DataStructures::List<::RakNet::
RakNetGUID>& guids
445 virtual
void AddToBanList(
char const* IP, uint milliseconds) ;
448 virtual
void RemoveFromBanList(
char const* IP) ;
451 virtual
void ClearBanList() ;
454 virtual
bool IsBanned(
char const* IP) ;
457 virtual
void SetLimitIPConnectionFrequency(
bool b) ;
466 bool onlyReplyOnAcceptingConnections,
467 uint connectionSocketIndex
471 virtual
void SendNatTraversalMessage(::RakNet::
SystemAddress const target) ;
474 virtual
int GetAveragePing(::RakNet::
AddressOrGUID const systemIdentifier) ;
477 virtual
int GetLastPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
480 virtual
int GetLowestPing(::RakNet::
AddressOrGUID const systemIdentifier) const ;
483 virtual
void SetOccasionalPing(
bool doPing) ;
486 virtual uint64 GetClockDifferential(::RakNet::
AddressOrGUID const systemIdentifier) ;
489 virtual
void SetOfflinePingResponse(
char const* data, uint const length) ;
492 virtual
void GetOfflinePingResponse(
char** data, uint* length) ;
499 virtual
void SetInternalID(::RakNet::
SystemAddress systemAddress,
int index) ;
505 virtual ::RakNet::
RakNetGUID const GetMyGUID() const ;
508 virtual
void resetMyGUID() ;
511 virtual ::RakNet::
SystemAddress GetMyBoundAddress(
int const socketIndex) ;
514 virtual
void SetAllowUnconnectedPings(
bool unconnectedPings) ;
517 virtual
bool GetAllowUnconnectedPings() const ;
527 virtual
bool GetClientPublicKeyFromSystemAddress(::RakNet::
SystemAddress const input,
char* client_public_key) const
531 virtual
void SetTimeoutTime(uint timeMS, ::RakNet::
SystemAddress const target) ;
534 virtual uint GetTimeoutTime(::RakNet::
SystemAddress const target) ;
537 virtual
int GetMTUSize(::RakNet::
SystemAddress const target) const ;
540 virtual uint GetNumberOfAdapters() ;
546 virtual uint GetNumberOfAddresses() ;
549 virtual
char const* GetLocalIP(uint index) ;
552 virtual
bool IsLocalIP(
char const* ip) ;
555 virtual
void AllowConnectionResponseIPMigration(
bool allow) ;
558 virtual
bool AdvertiseSystem(
563 uint connectionSocketIndex
567 virtual
void SetSplitMessageProgressInterval(
int interval) ;
570 virtual
int GetSplitMessageProgressInterval() const ;
573 virtual
void SetUnreliableTimeout(uint timeoutMS) ;
576 virtual
void SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex) ;
585 virtual
void PushBackPacket(::RakNet::
Packet* packet,
bool pushAtHead) ;
592 virtual ::RakNet::
Packet* AllocatePacket(uint dataSize) ;
598 virtual
void GetSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
601 virtual
void ReleaseSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets) ;
604 virtual
void WriteOutOfBandHeader(::RakNet::
BitStream* bitStream) ;
607 virtual
void SetUserUpdateThread(
609 void* _userUpdateThreadData
614 SetIncomingDatagramEventHandler(
bool (*_incomingDatagramEventHandler)(::RakNet::
RNS2RecvStruct*)) ;
617 virtual
void ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance) ;
620 virtual
void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) ;
623 virtual
bool IsNetworkSimulatorActive() ;
630 virtual
bool GetStatistics(uint const index, ::RakNet::
RakNetStatistics* rns) ;
633 virtual
void GetStatisticsList(
635 ::DataStructures::List<::RakNet::
RakNetGUID>& guids,
640 virtual uint GetReceiveBufferSize() ;
643 virtual
bool RunUpdateCycle(::RakNet::
BitStream& updateBitStream) ;
646 virtual
bool SendOutOfBand(
651 uint connectionSocketIndex
655 virtual
void DeallocRNS2RecvStruct(::RakNet::
RNS2RecvStruct* s,
char const* file, uint line) ;
658 virtual ::RakNet::
RNS2RecvStruct* AllocRNS2RecvStruct(
char const* file, uint line) ;
667 MCAPI
void AddPacketToProducer(::RakNet::
Packet* p);
669 MCAPI ::RakNet::
Packet* AllocPacket(uint dataSize,
char const* file, uint line);
671 MCAPI ::RakNet::
Packet* AllocPacket(uint dataSize, uchar* data,
char const* file, uint line);
673 MCAPI
bool AllowIncomingConnections() const;
675 MCAPI ::RakNet::
RakPeer::RemoteSystemStruct* AssignSystemAddressToRemoteSystemList(
677 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
679 bool* thisIPConnectedRecently,
687 CallPluginCallbacks(::DataStructures::List<::RakNet::
PluginInterface2*>& pluginList, ::RakNet::
Packet* packet);
689 MCAPI
void ClearBufferedPackets();
691 MCAPI
void ClearRequestedConnectionList();
693 MCAPI
void CloseConnectionInternal(
695 bool sendDisconnectionNotification,
696 bool performImmediate,
697 uchar orderingChannel,
698 ::PacketPriority disconnectionNotificationPriority
701 MCAPI
void DerefAllSockets();
703 MCAPI
void DereferenceRemoteSystem(::RakNet::
SystemAddress const& sa);
705 MCAPI
void FillIPList();
707 MCAPI uint64 GetBestClockDifferential(::RakNet::
SystemAddress systemAddress) const;
709 MCAPI
int GetIndexFromSystemAddress(::RakNet::
SystemAddress systemAddress,
bool calledFromNetworkThread) const;
711 MCAPI ::RakNet::
RakPeer::RemoteSystemStruct* GetRemoteSystemFromSystemAddress(
713 bool calledFromNetworkThread,
717 MCAPI uint GetRemoteSystemIndex(::RakNet::
SystemAddress const& sa) const;
719 MCAPI
bool IsLoopbackAddress(::RakNet::
AddressOrGUID const& systemIdentifier,
bool matchPort) const;
721 MCAPI
void NotifyAndFlagForShutdown(
723 bool performImmediate,
724 uchar orderingChannel,
725 ::PacketPriority disconnectionNotificationPriority
729 OnConnectedPong(uint64 sendPingTime, uint64 sendPongTime, ::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem);
731 MCAPI
void OnConnectionRequest(::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem, uint64 incomingTimestamp);
733 MCAPI
void ParseConnectionRequestPacket(
734 ::RakNet::
RakPeer::RemoteSystemStruct* remoteSystem,
740 MCAPI
void PingInternal(::RakNet::
SystemAddress target,
bool performImmediate, ::PacketReliability reliability);
744 MCAPI
void ReferenceRemoteSystem(::RakNet::
SystemAddress const& sa, uint remoteSystemListIndex);
746 MCAPI
void SendBuffered(
748 uint numberOfBitsToSend,
749 ::PacketPriority priority,
750 ::PacketReliability reliability,
751 char orderingChannel,
754 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
758 MCAPI
void SendBufferedList(
762 ::PacketPriority priority,
763 ::PacketReliability reliability,
764 char orderingChannel,
767 ::RakNet::
RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
771 MCAPI ::RakNet::ConnectionAttemptResult SendConnectionRequest(
774 char const* passwordData,
775 int passwordDataLength,
777 uint connectionSocketIndex,
779 uint sendConnectionAttemptCount,
780 uint timeBetweenSendConnectionAttemptsMS,
784 MCAPI ::RakNet::ConnectionAttemptResult SendConnectionRequest(
787 char const* passwordData,
788 int passwordDataLength,
790 uint connectionSocketIndex,
792 uint sendConnectionAttemptCount,
793 uint timeBetweenSendConnectionAttemptsMS,
798 MCAPI
bool SendImmediate(
800 uint numberOfBitsToSend,
801 ::PacketPriority priority,
802 ::PacketReliability reliability,
803 char orderingChannel,
806 bool useCallerDataAllocation,
827 MCAPI
void $InitializeConfiguration(::
std::unique_ptr<::RakNet::
ShadowBanList> banList);
829 MCAPI ::RakNet::StartupResult $Startup(
832 uint socketDescriptorCount,
836 MCFOLD
bool $InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey);
838 MCFOLD
void $DisableSecurity();
840 MCAPI
void $AddToSecurityExceptionList(
char const* ip);
842 MCAPI
void $RemoveFromSecurityExceptionList(
char const* ip);
844 MCAPI
bool $IsInSecurityExceptionList(
char const* ip);
846 MCAPI
void $SetMaximumIncomingConnections(ushort numberAllowed);
848 MCFOLD uint $GetMaximumIncomingConnections() const;
850 MCAPI ushort $NumberOfConnections() const;
852 MCAPI
void $SetIncomingPassword(
char const* passwordData,
int passwordDataLength);
854 MCAPI
void $GetIncomingPassword(
char* passwordData,
int* passwordDataLength);
856 MCAPI ::RakNet::ConnectionAttemptResult $Connect(
859 char const* passwordData,
860 int passwordDataLength,
862 uint connectionSocketIndex,
863 uint sendConnectionAttemptCount,
864 uint timeBetweenSendConnectionAttemptsMS,
868 MCAPI ::RakNet::ConnectionAttemptResult $ConnectWithSocket(
871 char const* passwordData,
872 int passwordDataLength,
875 uint sendConnectionAttemptCount,
876 uint timeBetweenSendConnectionAttemptsMS,
880 MCAPI
void $Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority);
882 MCAPI
bool $SetApplicationHandshakeCompleted(::RakNet::
AddressOrGUID systemIdentifier);
884 MCAPI
bool $IsActive() const;
886 MCAPI
bool $GetConnectionList(::RakNet::
SystemAddress* remoteSystems, ushort* numberOfSystems) const;
888 MCAPI uint $GetNextSendReceipt();
890 MCAPI uint $IncrementNextSendReceipt();
895 ::PacketPriority priority,
896 ::PacketReliability reliability,
897 char orderingChannel,
900 uint forceReceiptNumber
905 ::PacketPriority priority,
906 ::PacketReliability reliability,
907 char orderingChannel,
910 uint forceReceiptNumber
913 MCAPI
void $SendLoopback(
char const* data,
int const length);
915 MCAPI uint $SendList(
918 int const numParameters,
919 ::PacketPriority priority,
920 ::PacketReliability reliability,
921 char orderingChannel,
924 uint forceReceiptNumber
927 MCAPI ::RakNet::
Packet* $Receive();
929 MCAPI
void $DeallocatePacket(::RakNet::
Packet* packet);
931 MCFOLD uint $GetMaximumNumberOfPeers() const;
933 MCAPI
void $CloseConnection(
935 bool sendDisconnectionNotification,
936 uchar orderingChannel,
937 ::PacketPriority disconnectionNotificationPriority
940 MCAPI
void $CancelConnectionAttempt(::RakNet::
SystemAddress const target);
942 MCAPI ::RakNet::ConnectionState $GetConnectionState(::RakNet::
AddressOrGUID const systemIdentifier);
944 MCAPI
int $GetIndexFromSystemAddress(::RakNet::
SystemAddress const systemAddress) const;
946 MCAPI ::RakNet::
SystemAddress $GetSystemAddressFromIndex(uint index);
948 MCAPI ::RakNet::
RakNetGUID $GetGUIDFromIndex(uint index);
950 MCAPI
void $GetSystemList(
952 ::DataStructures::List<::RakNet::
RakNetGUID>& guids
955 MCAPI
void $AddToBanList(
char const* IP, uint milliseconds);
957 MCAPI
void $RemoveFromBanList(
char const* IP);
959 MCAPI
void $ClearBanList();
961 MCAPI
bool $IsBanned(
char const* IP);
963 MCAPI
void $SetLimitIPConnectionFrequency(
bool b);
968 $Ping(
char const* host, ushort remotePort,
bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex);
970 MCAPI
void $SendNatTraversalMessage(::RakNet::
SystemAddress const target);
972 MCAPI
int $GetAveragePing(::RakNet::
AddressOrGUID const systemIdentifier);
974 MCAPI
int $GetLastPing(::RakNet::
AddressOrGUID const systemIdentifier) const;
976 MCAPI
int $GetLowestPing(::RakNet::
AddressOrGUID const systemIdentifier) const;
978 MCAPI
void $SetOccasionalPing(
bool doPing);
980 MCAPI uint64 $GetClockDifferential(::RakNet::
AddressOrGUID const systemIdentifier);
982 MCAPI
void $SetOfflinePingResponse(
char const* data, uint const length);
984 MCAPI
void $GetOfflinePingResponse(
char** data, uint* length);
988 MCAPI
void $SetInternalID(::RakNet::
SystemAddress systemAddress,
int index);
992 MCAPI ::RakNet::
RakNetGUID const $GetMyGUID() const;
994 MCAPI
void $resetMyGUID();
996 MCAPI ::RakNet::
SystemAddress $GetMyBoundAddress(
int const socketIndex);
998 MCAPI
void $SetAllowUnconnectedPings(
bool unconnectedPings);
1000 MCAPI
bool $GetAllowUnconnectedPings() const;
1007 $GetClientPublicKeyFromSystemAddress(::RakNet::
SystemAddress const input,
char* client_public_key) const;
1009 MCAPI
void $SetTimeoutTime(uint timeMS, ::RakNet::
SystemAddress const target);
1011 MCAPI uint $GetTimeoutTime(::RakNet::
SystemAddress const target);
1013 MCAPI
int $GetMTUSize(::RakNet::
SystemAddress const target) const;
1015 MCAPI uint $GetNumberOfAdapters();
1019 MCAPI uint $GetNumberOfAddresses();
1021 MCAPI
char const* $GetLocalIP(uint index);
1023 MCAPI
bool $IsLocalIP(
char const* ip);
1025 MCAPI
void $AllowConnectionResponseIPMigration(
bool allow);
1028 $AdvertiseSystem(
char const* host, ushort remotePort,
char const* data,
int dataLength, uint connectionSocketIndex);
1030 MCAPI
void $SetSplitMessageProgressInterval(
int interval);
1032 MCAPI
int $GetSplitMessageProgressInterval() const;
1034 MCAPI
void $SetUnreliableTimeout(uint timeoutMS);
1036 MCAPI
void $SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex);
1042 MCAPI
void $PushBackPacket(::RakNet::
Packet* packet,
bool pushAtHead);
1046 MCAPI ::RakNet::
Packet* $AllocatePacket(uint dataSize);
1050 MCAPI
void $GetSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets);
1052 MCAPI
void $ReleaseSockets(::DataStructures::List<::RakNet::
RakNetSocket2*>& sockets);
1054 MCAPI
void $WriteOutOfBandHeader(::RakNet::
BitStream* bitStream);
1057 $SetUserUpdateThread(
void (*_userUpdateThreadPtr)(::RakNet::
RakPeerInterface*,
void*),
void* _userUpdateThreadData);
1059 MCAPI
void $SetIncomingDatagramEventHandler(
bool (*_incomingDatagramEventHandler)(::RakNet::
RNS2RecvStruct*));
1061 MCFOLD
void $ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance);
1063 MCAPI
void $SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond);
1065 MCFOLD
bool $IsNetworkSimulatorActive();
1070 MCAPI
bool $GetStatistics(uint const index, ::RakNet::
RakNetStatistics* rns);
1072 MCAPI
void $GetStatisticsList(
1074 ::DataStructures::List<::RakNet::
RakNetGUID>& guids,
1078 MCAPI uint $GetReceiveBufferSize();
1080 MCAPI
bool $RunUpdateCycle(::RakNet::
BitStream& updateBitStream);
1083 $SendOutOfBand(
char const* host, ushort remotePort,
char const* data, uint dataLength, uint connectionSocketIndex);
1085 MCAPI
void $DeallocRNS2RecvStruct(::RakNet::
RNS2RecvStruct* s,
char const* file, uint line);
1087 MCAPI ::RakNet::
RNS2RecvStruct* $AllocRNS2RecvStruct(
char const* file, uint line);