Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RakPeer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/raknet/AddressOrGUID.h"
7#include "mc/deps/raknet/BitStream.h"
8#include "mc/deps/raknet/ConnectionAttemptResult.h"
9#include "mc/deps/raknet/ConnectionState.h"
10#include "mc/deps/raknet/NetworkAdapter.h"
11#include "mc/deps/raknet/PacketPriority.h"
12#include "mc/deps/raknet/PacketReliability.h"
13#include "mc/deps/raknet/PublicKeyMode.h"
14#include "mc/deps/raknet/RNS2EventHandler.h"
15#include "mc/deps/raknet/RakNetGUID.h"
16#include "mc/deps/raknet/RakPeerInterface.h"
17#include "mc/deps/raknet/ReliabilityLayer.h"
18#include "mc/deps/raknet/SignaledEvent.h"
19#include "mc/deps/raknet/SimpleMutex.h"
20#include "mc/deps/raknet/StartupResult.h"
21#include "mc/deps/raknet/SystemAddress.h"
22#include "mc/deps/raknet/data_structures/List.h"
23#include "mc/deps/raknet/data_structures/MemoryPool.h"
24#include "mc/deps/raknet/data_structures/Queue.h"
25#include "mc/deps/raknet/data_structures/ThreadsafeAllocatingQueue.h"
26
27// auto generated forward declare list
28// clang-format off
29namespace RakNet { class PluginInterface2; }
30namespace RakNet { class RakNetSocket2; }
31namespace RakNet { class RakString; }
32namespace RakNet { class ShadowBanList; }
33namespace RakNet { struct Packet; }
34namespace RakNet { struct PublicKey; }
35namespace RakNet { struct RNS2RecvStruct; }
36namespace RakNet { struct RakNetStatistics; }
37namespace RakNet { struct RemoteSystemIndex; }
38namespace RakNet { struct SocketDescriptor; }
39// clang-format on
40
41namespace RakNet {
42
44public:
45 // RakPeer inner types declare
46 // clang-format off
47 struct BanStruct;
49 struct RemoteSystemStruct;
52 struct SocketQueryOutput;
53 // clang-format on
54
55 // RakPeer inner types define
56 enum : int {
57 RequestedConnectionListMutex = 0,
58 OfflinePingResponseMutex = 1,
59 NumberOfRakpeerMutexes = 2,
60 };
61
62 struct BanStruct {
63 public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 8, char*> IP;
67 ::ll::TypedStorage<4, 4, uint> timeout;
68 // NOLINTEND
69 };
70
72 public:
73 // member variables
74 // NOLINTBEGIN
75 ::ll::TypedStorage<2, 2, ushort> pingTime;
76 ::ll::TypedStorage<8, 8, uint64> clockDifferential;
77 // NOLINTEND
78 };
79
81 public:
82 // RemoteSystemStruct inner types define
83 enum class ConnectMode : int {
84 NoAction = 0,
85 DisconnectAsap = 1,
86 DisconnectAsapSilently = 2,
87 DisconnectOnNoAck = 3,
88 RequestedConnection = 4,
89 HandlingConnectionRequest = 5,
90 UnverifiedSender = 6,
91 Connected = 7,
92 };
93
94 public:
95 // member variables
96 // NOLINTBEGIN
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;
115 ::ll::TypedStorage<1, 1, bool> addressVerified;
116 // NOLINTEND
117 };
118
120 public:
121 // member variables
122 // NOLINTBEGIN
123 ::ll::TypedStorage<4, 4, uint> numberOfBitsToSend;
124 ::ll::TypedStorage<4, 4, ::PacketPriority> priority;
125 ::ll::TypedStorage<4, 4, ::PacketReliability> reliability;
126 ::ll::TypedStorage<1, 1, char> orderingChannel;
127 ::ll::TypedStorage<8, 152, ::RakNet::AddressOrGUID> systemIdentifier;
128 ::ll::TypedStorage<1, 1, bool> broadcast;
129 ::ll::TypedStorage<4, 4, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode> connectionMode;
130 ::ll::TypedStorage<8, 8, uint64> networkID;
131 ::ll::TypedStorage<1, 1, bool> blockingCommand;
132 ::ll::TypedStorage<8, 8, char*> data;
133 ::ll::TypedStorage<1, 1, bool> haveRakNetCloseSocket;
134 ::ll::TypedStorage<4, 4, uint> connectionSocketIndex;
135 ::ll::TypedStorage<2, 2, ushort> remotePortRakNetWasStartedOn_PS3;
136 ::ll::TypedStorage<4, 4, uint> extraSocketOptions;
137 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
138 ::ll::TypedStorage<2, 2, ushort> port;
139 ::ll::TypedStorage<4, 4, uint> receipt;
140 enum : int {
141 Send = 0,
142 CloseConnection = 1,
143 GetSocket = 2,
144 ChangeSystemAddress = 3,
145 DoNothing = 4,
146 } command;
147 // NOLINTEND
148 };
149
151 public:
152 // member variables
153 // NOLINTBEGIN
154 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> systemAddress;
155 ::ll::TypedStorage<8, 8, uint64> nextRequestTime;
156 ::ll::TypedStorage<1, 1, uchar> requestsMade;
157 ::ll::TypedStorage<8, 8, char*> data;
158 ::ll::TypedStorage<2, 2, ushort> dataLength;
159 ::ll::TypedStorage<1, 256, char[256]> outgoingPassword;
160 ::ll::TypedStorage<1, 1, uchar> outgoingPasswordLength;
161 ::ll::TypedStorage<4, 4, uint> socketIndex;
162 ::ll::TypedStorage<4, 4, uint> extraData;
163 ::ll::TypedStorage<4, 4, uint> sendConnectionAttemptCount;
164 ::ll::TypedStorage<4, 4, uint> timeBetweenSendConnectionAttemptsMS;
165 ::ll::TypedStorage<4, 4, uint> timeoutTime;
166 ::ll::TypedStorage<4, 4, ::RakNet::PublicKeyMode> publicKeyMode;
167 ::ll::TypedStorage<8, 8, ::RakNet::RakNetSocket2*> socket;
168 enum : int {
169 Connect = 1,
170 } actionToTake;
171 // NOLINTEND
172 };
173
175 public:
176 // member variables
177 // NOLINTBEGIN
178 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakNetSocket2*>> sockets;
179 // NOLINTEND
180 };
181
182public:
183 // member variables
184 // NOLINTBEGIN
185 ::ll::TypedStorage<1, 1, bool volatile> endThreads;
186 ::ll::TypedStorage<1, 1, bool volatile> isMainLoopThreadActive;
187 ::ll::TypedStorage<1, 1, bool> occasionalPing;
188 ::ll::TypedStorage<4, 4, uint> maximumNumberOfPeers;
189 ::ll::TypedStorage<4, 4, uint> maximumIncomingConnections;
190 ::ll::TypedStorage<8, 288, ::RakNet::BitStream> offlinePingResponse;
191 ::ll::TypedStorage<1, 256, char[256]> incomingPassword;
192 ::ll::TypedStorage<1, 1, uchar> incomingPasswordLength;
193 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct*> remoteSystemList;
194 ::ll::TypedStorage<8, 8, ::RakNet::RakPeer::RemoteSystemStruct**> activeSystemList;
195 ::ll::TypedStorage<4, 4, uint> activeSystemListSize;
196 ::ll::TypedStorage<8, 8, ::RakNet::RemoteSystemIndex**> remoteSystemLookup;
197 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::RemoteSystemIndex>> remoteSystemIndexPool;
198 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::RakNet::ShadowBanList>> shadowBanList;
199 ::ll::TypedStorage<8, 80, ::RakNet::SimpleMutex[2]> rakPeerMutexes;
200 ::ll::TypedStorage<1, 1, bool> updateCycleIsRunning;
201 ::ll::TypedStorage<4, 4, uint> bytesSentPerSecond;
202 ::ll::TypedStorage<4, 4, uint> bytesReceivedPerSecond;
203 ::ll::TypedStorage<4, 4, uint> validationInteger;
204 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> incomingQueueMutex;
205 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> banListMutex;
206 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakPeer::BanStruct*>> banList;
207 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListTS;
208 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::PluginInterface2*>> pluginListNTS;
209 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RakPeer::RequestedConnectionStruct*>>
210 requestedConnectionQueue;
211 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> requestedConnectionQueueMutex;
212 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::BufferedCommandStruct>>
213 bufferedCommands;
214 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsFreePool;
215 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsFreePoolMutex;
216 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::RNS2RecvStruct*>> bufferedPacketsQueue;
217 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> bufferedPacketsQueueMutex;
218 ::ll::TypedStorage<8, 136, ::DataStructures::ThreadsafeAllocatingQueue<::RakNet::RakPeer::SocketQueryOutput>>
219 socketQueryOutput;
220 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> securityExceptionMutex;
221 ::ll::TypedStorage<4, 4, int> defaultMTUSize;
222 ::ll::TypedStorage<1, 1, bool> trackFrequencyTable;
223 ::ll::TypedStorage<8, 16, ::DataStructures::List<::std::shared_ptr<::RakNet::RakNetSocket2>>> socketList;
224 ::ll::TypedStorage<8, 8, ::RakNet::BitStream*> replyFromTargetBS;
225 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> replyFromTargetPlayer;
226 ::ll::TypedStorage<1, 1, bool> replyFromTargetBroadcast;
227 ::ll::TypedStorage<4, 4, uint> defaultTimeoutTime;
228 ::ll::TypedStorage<8, 16, ::RakNet::RakNetGUID> myGuid;
229 ::ll::TypedStorage<4, 4, uint> maxOutgoingBPS;
230 ::ll::TypedStorage<1, 1, bool> allowConnectionResponseIPMigration;
231 ::ll::TypedStorage<8, 136, ::RakNet::SystemAddress> firstExternalID;
232 ::ll::TypedStorage<4, 4, int> splitMessageProgressInterval;
233 ::ll::TypedStorage<4, 4, uint> unreliableTimeout;
234 ::ll::TypedStorage<8, 8, bool (*)(::RakNet::RNS2RecvStruct*)> incomingDatagramEventHandler;
235 ::ll::TypedStorage<8, 16, ::DataStructures::List<::RakNet::RakString>> securityExceptionList;
236 ::ll::TypedStorage<8, 2856, ::RakNet::SystemAddress[21]> ipList;
237 ::ll::TypedStorage<8, 31592, ::RakNet::NetworkAdapter[11]> adapterList;
238 ::ll::TypedStorage<1, 1, bool> allowInternalRouting;
239 ::ll::TypedStorage<1, 1, bool> allowUnconnectedPings;
240 ::ll::TypedStorage<8, 8, void (*)(::RakNet::RakPeerInterface*, void*)> userUpdateThreadPtr;
241 ::ll::TypedStorage<8, 8, void*> userUpdateThreadData;
242 ::ll::TypedStorage<8, 8, ::RakNet::SignaledEvent> quitAndDataEvents;
243 ::ll::TypedStorage<1, 1, bool> limitConnectionFrequencyFromTheSameIP;
244 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetAllocationPoolMutex;
245 ::ll::TypedStorage<8, 32, ::DataStructures::MemoryPool<::RakNet::Packet>> packetAllocationPool;
246 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> packetReturnMutex;
247 ::ll::TypedStorage<8, 24, ::DataStructures::Queue<::RakNet::Packet*>> packetReturnQueue;
248 ::ll::TypedStorage<8, 40, ::RakNet::SimpleMutex> sendReceiptSerialMutex;
249 ::ll::TypedStorage<4, 4, uint> sendReceiptSerial;
250 // NOLINTEND
251
252public:
253 // virtual functions
254 // NOLINTBEGIN
255 virtual ~RakPeer() /*override*/ = default;
256
257 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) /*override*/;
258
259 virtual ::RakNet::StartupResult Startup(
260 uint maxConnections,
261 ::RakNet::SocketDescriptor* socketDescriptors,
262 uint socketDescriptorCount,
263 int threadPriority
264 ) /*override*/;
265
266 virtual bool
267 InitializeSecurity(char const* public_key, char const* private_key, bool bRequireClientKey) /*override*/;
268
269 virtual void DisableSecurity() /*override*/;
270
271 virtual void AddToSecurityExceptionList(char const* ip) /*override*/;
272
273 virtual void RemoveFromSecurityExceptionList(char const* ip) /*override*/;
274
275 virtual bool IsInSecurityExceptionList(char const* ip) /*override*/;
276
277 virtual void SetMaximumIncomingConnections(ushort numberAllowed) /*override*/;
278
279 virtual uint GetMaximumIncomingConnections() const /*override*/;
280
281 virtual ushort NumberOfConnections() const /*override*/;
282
283 virtual void SetIncomingPassword(char const* passwordData, int passwordDataLength) /*override*/;
284
285 virtual void GetIncomingPassword(char* passwordData, int* passwordDataLength) /*override*/;
286
287 virtual ::RakNet::ConnectionAttemptResult Connect(
288 char const* host,
289 ushort remotePort,
290 char const* passwordData,
291 int passwordDataLength,
292 ::RakNet::PublicKey* publicKey,
293 uint connectionSocketIndex,
294 uint sendConnectionAttemptCount,
295 uint timeBetweenSendConnectionAttemptsMS,
296 uint timeoutTime
297 ) /*override*/;
298
299 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
300 char const* host,
301 ushort remotePort,
302 char const* passwordData,
303 int passwordDataLength,
304 ::RakNet::RakNetSocket2* socket,
305 ::RakNet::PublicKey* publicKey,
306 uint sendConnectionAttemptCount,
307 uint timeBetweenSendConnectionAttemptsMS,
308 uint timeoutTime
309 ) /*override*/;
310
311 virtual void Shutdown(
312 uint blockDuration,
313 uchar orderingChannel,
314 ::PacketPriority disconnectionNotificationPriority
315 ) /*override*/;
316
317 virtual bool SetApplicationHandshakeCompleted(::RakNet::AddressOrGUID systemIdentifier) /*override*/;
318
319 virtual bool IsActive() const /*override*/;
320
321 virtual bool GetConnectionList(::RakNet::SystemAddress* remoteSystems, ushort* numberOfSystems) const /*override*/;
322
323 virtual uint GetNextSendReceipt() /*override*/;
324
325 virtual uint IncrementNextSendReceipt() /*override*/;
326
327 virtual uint Send(
328 char const* data,
329 int const length,
330 ::PacketPriority priority,
331 ::PacketReliability reliability,
332 char orderingChannel,
333 ::RakNet::AddressOrGUID const systemIdentifier,
334 bool broadcast,
335 uint forceReceiptNumber
336 ) /*override*/;
337
338 virtual uint Send(
339 ::RakNet::BitStream const* bitStream,
340 ::PacketPriority priority,
341 ::PacketReliability reliability,
342 char orderingChannel,
343 ::RakNet::AddressOrGUID const systemIdentifier,
344 bool broadcast,
345 uint forceReceiptNumber
346 ) /*override*/;
347
348 virtual void SendLoopback(char const* data, int const length) /*override*/;
349
350 virtual uint SendList(
351 char const** data,
352 int const* lengths,
353 int const numParameters,
354 ::PacketPriority priority,
355 ::PacketReliability reliability,
356 char orderingChannel,
357 ::RakNet::AddressOrGUID const systemIdentifier,
358 bool broadcast,
359 uint forceReceiptNumber
360 ) /*override*/;
361
362 virtual ::RakNet::Packet* Receive() /*override*/;
363
364 virtual void DeallocatePacket(::RakNet::Packet* packet) /*override*/;
365
366 virtual uint GetMaximumNumberOfPeers() const /*override*/;
367
368 virtual void CloseConnection(
369 ::RakNet::AddressOrGUID const target,
370 bool sendDisconnectionNotification,
371 uchar orderingChannel,
372 ::PacketPriority disconnectionNotificationPriority
373 ) /*override*/;
374
375 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::AddressOrGUID const systemIdentifier) /*override*/;
376
377 virtual int GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const /*override*/;
378
379 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) /*override*/;
380
381 virtual void GetSystemList(
382 ::DataStructures::List<::RakNet::SystemAddress>& addresses,
383 ::DataStructures::List<::RakNet::RakNetGUID>& guids
384 ) const /*override*/;
385
386 virtual void AddToBanList(char const* IP, uint milliseconds) /*override*/;
387
388 virtual void RemoveFromBanList(char const* IP) /*override*/;
389
390 virtual void ClearBanList() /*override*/;
391
392 virtual bool IsBanned(char const* IP) /*override*/;
393
394 virtual void Ping(::RakNet::SystemAddress const target) /*override*/;
395
396 virtual bool Ping(
397 char const* host,
398 ushort remotePort,
399 bool onlyReplyOnAcceptingConnections,
400 uint connectionSocketIndex
401 ) /*override*/;
402
403 virtual int GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier) /*override*/;
404
405 virtual int GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const /*override*/;
406
407 virtual int GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const /*override*/;
408
409 virtual void SetOccasionalPing(bool doPing) /*override*/;
410
411 virtual uint64 GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier) /*override*/;
412
413 virtual void SetOfflinePingResponse(char const* data, uint const length) /*override*/;
414
415 virtual ::RakNet::SystemAddress GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const
416 /*override*/;
417
418 virtual ::RakNet::SystemAddress GetExternalID(::RakNet::SystemAddress const target) const /*override*/;
419
420 virtual ::RakNet::RakNetGUID const GetMyGUID() const /*override*/;
421
422 virtual void resetMyGUID() /*override*/;
423
424 virtual ::RakNet::SystemAddress GetMyBoundAddress(int const socketIndex) /*override*/;
425
426 virtual void SetAllowUnconnectedPings(bool unconnectedPings) /*override*/;
427
428 virtual bool GetAllowUnconnectedPings() const /*override*/;
429
430 virtual ::RakNet::RakNetGUID const& GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const
431 /*override*/;
432
433 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const /*override*/;
434
435 virtual void SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target) /*override*/;
436
437 virtual uint GetTimeoutTime(::RakNet::SystemAddress const target) /*override*/;
438
439 virtual int GetMTUSize(::RakNet::SystemAddress const target) const /*override*/;
440
441 virtual uint GetNumberOfAdapters() /*override*/;
442
443 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) /*override*/;
444
445 virtual uint GetNumberOfAddresses() /*override*/;
446
447 virtual char const* GetLocalIP(uint index) /*override*/;
448
449 virtual bool IsLocalIP(char const* ip) /*override*/;
450
451 virtual void AllowConnectionResponseIPMigration(bool allow) /*override*/;
452
453 virtual bool AdvertiseSystem(
454 char const* host,
455 ushort remotePort,
456 char const* data,
457 int dataLength,
458 uint connectionSocketIndex
459 ) /*override*/;
460
461 virtual void SetSplitMessageProgressInterval(int interval) /*override*/;
462
463 virtual int GetSplitMessageProgressInterval() const /*override*/;
464
465 virtual void SetUnreliableTimeout(uint timeoutMS) /*override*/;
466
467 virtual void SendTTL(char const* host, ushort remotePort, int ttl, uint connectionSocketIndex) /*override*/;
468
469 virtual void AttachPlugin(::RakNet::PluginInterface2* plugin) /*override*/;
470
471 virtual void DetachPlugin(::RakNet::PluginInterface2* plugin) /*override*/;
472
473 virtual void PushBackPacket(::RakNet::Packet* packet, bool pushAtHead) /*override*/;
474
475 virtual void
476 ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const& systemAddress) /*override*/;
477
478 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) /*override*/;
479
480 virtual ::RakNet::RakNetSocket2* GetSocket(::RakNet::SystemAddress const target) /*override*/;
481
482 virtual void GetSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) /*override*/;
483
484 virtual void ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) /*override*/;
485
486 virtual void WriteOutOfBandHeader(::RakNet::BitStream* bitStream) /*override*/;
487
488 virtual void SetUserUpdateThread(
489 void (*_userUpdateThreadPtr)(::RakNet::RakPeerInterface*, void*),
490 void* _userUpdateThreadData
491 ) /*override*/;
492
493 virtual void
494 SetIncomingDatagramEventHandler(bool (*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct*)) /*override*/;
495
496 virtual void ApplyNetworkSimulator(float packetloss, ushort minExtraPing, ushort extraPingVariance) /*override*/;
497
498 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) /*override*/;
499
500 virtual bool IsNetworkSimulatorActive() /*override*/;
501
502 virtual ::RakNet::RakNetStatistics*
503 GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics* rns) /*override*/;
504
505 virtual bool GetStatistics(uint const index, ::RakNet::RakNetStatistics* rns) /*override*/;
506
507 virtual void GetStatisticsList(
508 ::DataStructures::List<::RakNet::SystemAddress>& addresses,
509 ::DataStructures::List<::RakNet::RakNetGUID>& guids,
510 ::DataStructures::List<::RakNet::RakNetStatistics>& statistics
511 ) /*override*/;
512
513 virtual uint GetReceiveBufferSize() /*override*/;
514
515 virtual bool RunUpdateCycle(::RakNet::BitStream& updateBitStream) /*override*/;
516
517 virtual bool SendOutOfBand(
518 char const* host,
519 ushort remotePort,
520 char const* data,
521 uint dataLength,
522 uint connectionSocketIndex
523 ) /*override*/;
524
525 virtual void DeallocRNS2RecvStruct(::RakNet::RNS2RecvStruct* s, char const* file, uint line) /*override*/;
526
527 virtual ::RakNet::RNS2RecvStruct* AllocRNS2RecvStruct(char const* file, uint line) /*override*/;
528
529 virtual void OnRNS2Recv(::RakNet::RNS2RecvStruct* recvStruct) /*override*/;
530 // NOLINTEND
531
532public:
533 // member functions
534 // NOLINTBEGIN
535 MCNAPI void AddPacketToProducer(::RakNet::Packet* p);
536
537 MCNAPI ::RakNet::Packet* AllocPacket(uint dataSize, char const* file, uint line);
538
539 MCNAPI bool AllowIncomingConnections() const;
540
542 ::RakNet::SystemAddress const systemAddress,
543 ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
544 ::RakNet::RakNetSocket2* incomingRakNetSocket,
545 bool* thisIPConnectedRecently,
546 ::RakNet::SystemAddress bindingAddress,
547 int incomingMTU,
548 ::RakNet::RakNetGUID guid,
549 bool useSecurity
550 );
551
553
554 MCNAPI void ClearBufferedPackets();
555
557 ::RakNet::AddressOrGUID const& systemIdentifier,
558 bool sendDisconnectionNotification,
559 bool performImmediate,
560 uchar orderingChannel,
561 ::PacketPriority disconnectionNotificationPriority
562 );
563
564 MCNAPI void DereferenceRemoteSystem(::RakNet::SystemAddress const& sa);
565
566 MCNAPI void FillIPList();
567
568 MCNAPI int
569 GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress, bool calledFromNetworkThread) const;
570
572 ::RakNet::SystemAddress const systemAddress,
573 bool calledFromNetworkThread,
574 bool onlyActive
575 ) const;
576
577 MCNAPI uint GetRemoteSystemIndex(::RakNet::SystemAddress const& sa) const;
578
579 MCNAPI bool IsLoopbackAddress(::RakNet::AddressOrGUID const& systemIdentifier, bool matchPort) const;
580
582 ::RakNet::SystemAddress const systemAddress,
583 bool performImmediate,
584 uchar orderingChannel,
585 ::PacketPriority disconnectionNotificationPriority
586 );
587
588 MCNAPI void OnConnectionRequest(::RakNet::RakPeer::RemoteSystemStruct* remoteSystem, uint64 incomingTimestamp);
589
591 ::RakNet::RakPeer::RemoteSystemStruct* remoteSystem,
592 ::RakNet::SystemAddress const& systemAddress,
593 char const* data,
594 int byteSize
595 );
596
597 MCNAPI void
598 PingInternal(::RakNet::SystemAddress const target, bool performImmediate, ::PacketReliability reliability);
599
600 MCAPI RakPeer();
601
602 MCNAPI void ReferenceRemoteSystem(::RakNet::SystemAddress const& sa, uint remoteSystemListIndex);
603
604 MCNAPI void SendBuffered(
605 char const* data,
606 uint numberOfBitsToSend,
607 ::PacketPriority priority,
608 ::PacketReliability reliability,
609 char orderingChannel,
610 ::RakNet::AddressOrGUID const systemIdentifier,
611 bool broadcast,
612 ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode connectionMode,
613 uint receipt
614 );
615
616 MCNAPI bool SendImmediate(
617 char* data,
618 uint numberOfBitsToSend,
619 ::PacketPriority priority,
620 ::PacketReliability reliability,
621 char orderingChannel,
622 ::RakNet::AddressOrGUID const systemIdentifier,
623 bool broadcast,
624 bool useCallerDataAllocation,
625 uint64 currentTime,
626 uint receipt
627 );
628 // NOLINTEND
629
630public:
631 // static functions
632 // NOLINTBEGIN
633 MCNAPI static void
634 CallPluginCallbacks(::DataStructures::List<::RakNet::PluginInterface2*>& pluginList, ::RakNet::Packet* packet);
635 // NOLINTEND
636
637public:
638 // constructor thunks
639 // NOLINTBEGIN
640 MCAPI void* $ctor();
641 // NOLINTEND
642
643public:
644 // virtual function thunks
645 // NOLINTBEGIN
646 MCNAPI void $InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList);
647
648 MCNAPI ::RakNet::StartupResult $Startup(
649 uint maxConnections,
650 ::RakNet::SocketDescriptor* socketDescriptors,
651 uint socketDescriptorCount,
652 int threadPriority
653 );
654
655 MCNAPI bool $InitializeSecurity(char const* public_key, char const* private_key, bool bRequireClientKey);
656
657 MCNAPI void $DisableSecurity();
658
659 MCNAPI void $AddToSecurityExceptionList(char const* ip);
660
661 MCNAPI void $RemoveFromSecurityExceptionList(char const* ip);
662
663 MCNAPI bool $IsInSecurityExceptionList(char const* ip);
664
665 MCNAPI void $SetMaximumIncomingConnections(ushort numberAllowed);
666
668
669 MCNAPI ushort $NumberOfConnections() const;
670
671 MCNAPI void $SetIncomingPassword(char const* passwordData, int passwordDataLength);
672
673 MCNAPI void $GetIncomingPassword(char* passwordData, int* passwordDataLength);
674
675 MCNAPI ::RakNet::ConnectionAttemptResult $Connect(
676 char const* host,
677 ushort remotePort,
678 char const* passwordData,
679 int passwordDataLength,
680 ::RakNet::PublicKey* publicKey,
681 uint connectionSocketIndex,
682 uint sendConnectionAttemptCount,
683 uint timeBetweenSendConnectionAttemptsMS,
684 uint timeoutTime
685 );
686
687 MCNAPI ::RakNet::ConnectionAttemptResult $ConnectWithSocket(
688 char const* host,
689 ushort remotePort,
690 char const* passwordData,
691 int passwordDataLength,
692 ::RakNet::RakNetSocket2* socket,
693 ::RakNet::PublicKey* publicKey,
694 uint sendConnectionAttemptCount,
695 uint timeBetweenSendConnectionAttemptsMS,
696 uint timeoutTime
697 );
698
699 MCAPI void $Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority);
700
701 MCNAPI bool $SetApplicationHandshakeCompleted(::RakNet::AddressOrGUID systemIdentifier);
702
703 MCNAPI bool $IsActive() const;
704
705 MCNAPI bool $GetConnectionList(::RakNet::SystemAddress* remoteSystems, ushort* numberOfSystems) const;
706
707 MCNAPI uint $GetNextSendReceipt();
708
710
711 MCNAPI uint $Send(
712 char const* data,
713 int const length,
714 ::PacketPriority priority,
715 ::PacketReliability reliability,
716 char orderingChannel,
717 ::RakNet::AddressOrGUID const systemIdentifier,
718 bool broadcast,
719 uint forceReceiptNumber
720 );
721
722 MCNAPI uint $Send(
723 ::RakNet::BitStream const* bitStream,
724 ::PacketPriority priority,
725 ::PacketReliability reliability,
726 char orderingChannel,
727 ::RakNet::AddressOrGUID const systemIdentifier,
728 bool broadcast,
729 uint forceReceiptNumber
730 );
731
732 MCNAPI void $SendLoopback(char const* data, int const length);
733
734 MCNAPI uint $SendList(
735 char const** data,
736 int const* lengths,
737 int const numParameters,
738 ::PacketPriority priority,
739 ::PacketReliability reliability,
740 char orderingChannel,
741 ::RakNet::AddressOrGUID const systemIdentifier,
742 bool broadcast,
743 uint forceReceiptNumber
744 );
745
746 MCNAPI ::RakNet::Packet* $Receive();
747
748 MCNAPI void $DeallocatePacket(::RakNet::Packet* packet);
749
750 MCNAPI uint $GetMaximumNumberOfPeers() const;
751
752 MCNAPI void $CloseConnection(
753 ::RakNet::AddressOrGUID const target,
754 bool sendDisconnectionNotification,
755 uchar orderingChannel,
756 ::PacketPriority disconnectionNotificationPriority
757 );
758
759 MCNAPI ::RakNet::ConnectionState $GetConnectionState(::RakNet::AddressOrGUID const systemIdentifier);
760
761 MCNAPI int $GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const;
762
763 MCNAPI ::RakNet::RakNetGUID $GetGUIDFromIndex(uint index);
764
765 MCNAPI void $GetSystemList(
766 ::DataStructures::List<::RakNet::SystemAddress>& addresses,
767 ::DataStructures::List<::RakNet::RakNetGUID>& guids
768 ) const;
769
770 MCNAPI void $AddToBanList(char const* IP, uint milliseconds);
771
772 MCNAPI void $RemoveFromBanList(char const* IP);
773
774 MCNAPI void $ClearBanList();
775
776 MCNAPI bool $IsBanned(char const* IP);
777
778 MCNAPI void $Ping(::RakNet::SystemAddress const target);
779
780 MCNAPI bool
781 $Ping(char const* host, ushort remotePort, bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex);
782
783 MCNAPI int $GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier);
784
785 MCNAPI int $GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const;
786
787 MCNAPI int $GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const;
788
789 MCNAPI void $SetOccasionalPing(bool doPing);
790
791 MCNAPI uint64 $GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier);
792
793 MCAPI void $SetOfflinePingResponse(char const* data, uint const length);
794
795 MCNAPI ::RakNet::SystemAddress $GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const;
796
797 MCNAPI ::RakNet::SystemAddress $GetExternalID(::RakNet::SystemAddress const target) const;
798
799 MCNAPI ::RakNet::RakNetGUID const $GetMyGUID() const;
800
801 MCNAPI void $resetMyGUID();
802
803 MCNAPI ::RakNet::SystemAddress $GetMyBoundAddress(int const socketIndex);
804
805 MCNAPI void $SetAllowUnconnectedPings(bool unconnectedPings);
806
807 MCNAPI bool $GetAllowUnconnectedPings() const;
808
809 MCNAPI ::RakNet::RakNetGUID const& $GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const;
810
811 MCNAPI ::RakNet::SystemAddress $GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const;
812
813 MCNAPI void $SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target);
814
815 MCNAPI uint $GetTimeoutTime(::RakNet::SystemAddress const target);
816
817 MCNAPI int $GetMTUSize(::RakNet::SystemAddress const target) const;
818
819 MCNAPI uint $GetNumberOfAdapters();
820
821 MCNAPI ::RakNet::NetworkAdapter& $GetLocalAdapter(uint index);
822
824
825 MCNAPI char const* $GetLocalIP(uint index);
826
827 MCNAPI bool $IsLocalIP(char const* ip);
828
829 MCNAPI void $AllowConnectionResponseIPMigration(bool allow);
830
831 MCNAPI bool
832 $AdvertiseSystem(char const* host, ushort remotePort, char const* data, int dataLength, uint connectionSocketIndex);
833
834 MCNAPI void $SetSplitMessageProgressInterval(int interval);
835
837
838 MCNAPI void $SetUnreliableTimeout(uint timeoutMS);
839
840 MCNAPI void $SendTTL(char const* host, ushort remotePort, int ttl, uint connectionSocketIndex);
841
842 MCNAPI void $AttachPlugin(::RakNet::PluginInterface2* plugin);
843
844 MCNAPI void $DetachPlugin(::RakNet::PluginInterface2* plugin);
845
846 MCNAPI void $PushBackPacket(::RakNet::Packet* packet, bool pushAtHead);
847
848 MCNAPI void $ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const& systemAddress);
849
850 MCNAPI ::RakNet::Packet* $AllocatePacket(uint dataSize);
851
852 MCNAPI ::RakNet::RakNetSocket2* $GetSocket(::RakNet::SystemAddress const target);
853
854 MCNAPI void $GetSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets);
855
856 MCNAPI void $ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets);
857
858 MCNAPI void $WriteOutOfBandHeader(::RakNet::BitStream* bitStream);
859
860 MCNAPI void
861 $SetUserUpdateThread(void (*_userUpdateThreadPtr)(::RakNet::RakPeerInterface*, void*), void* _userUpdateThreadData);
862
863 MCNAPI void $SetIncomingDatagramEventHandler(bool (*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct*));
864
865 MCNAPI void $ApplyNetworkSimulator(float packetloss, ushort minExtraPing, ushort extraPingVariance);
866
867 MCNAPI void $SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond);
868
870
871 MCNAPI ::RakNet::RakNetStatistics*
872 $GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics* rns);
873
874 MCNAPI bool $GetStatistics(uint const index, ::RakNet::RakNetStatistics* rns);
875
877 ::DataStructures::List<::RakNet::SystemAddress>& addresses,
878 ::DataStructures::List<::RakNet::RakNetGUID>& guids,
879 ::DataStructures::List<::RakNet::RakNetStatistics>& statistics
880 );
881
883
884 MCNAPI bool $RunUpdateCycle(::RakNet::BitStream& updateBitStream);
885
886 MCNAPI bool
887 $SendOutOfBand(char const* host, ushort remotePort, char const* data, uint dataLength, uint connectionSocketIndex);
888
889 MCNAPI void $DeallocRNS2RecvStruct(::RakNet::RNS2RecvStruct* s, char const* file, uint line);
890
891 MCNAPI ::RakNet::RNS2RecvStruct* $AllocRNS2RecvStruct(char const* file, uint line);
892
893 MCNAPI void $OnRNS2Recv(::RakNet::RNS2RecvStruct* recvStruct);
894
895
896 // NOLINTEND
897};
898
899} // namespace RakNet
Definition BitStream.h:7
Definition PluginInterface2.h:20
Definition RNS2EventHandler.h:12
Definition RakNetSocket2.h:12
Definition RakPeerInterface.h:32
MCAPI::RakNet::RakNetGUID const $GetMyGUID() const
MCAPI::RakNet::RakPeer::RemoteSystemStruct * AssignSystemAddressToRemoteSystemList(::RakNet::SystemAddress const systemAddress, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode connectionMode, ::RakNet::RakNetSocket2 *incomingRakNetSocket, bool *thisIPConnectedRecently, ::RakNet::SystemAddress bindingAddress, int incomingMTU, ::RakNet::RakNetGUID guid, bool useSecurity)
MCAPI uint $GetMaximumNumberOfPeers() const
MCAPI::RakNet::Packet * AllocPacket(uint dataSize, char const *file, uint line)
MCAPI::RakNet::RakPeer::RemoteSystemStruct * GetRemoteSystemFromSystemAddress(::RakNet::SystemAddress const systemAddress, bool calledFromNetworkThread, bool onlyActive) const
MCAPI::RakNet::RakNetStatistics * $GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics *rns)
MCAPI uint $Send(char const *data, int const length, ::PacketPriority priority, ::PacketReliability reliability, char orderingChannel, ::RakNet::AddressOrGUID const systemIdentifier, bool broadcast, uint forceReceiptNumber)
MCAPI bool $RunUpdateCycle(::RakNet::BitStream &updateBitStream)
MCAPI::RakNet::NetworkAdapter & $GetLocalAdapter(uint index)
MCAPI bool $GetAllowUnconnectedPings() const
MCAPI void CloseConnectionInternal(::RakNet::AddressOrGUID const &systemIdentifier, bool sendDisconnectionNotification, bool performImmediate, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority)
MCAPI void $SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target)
MCAPI void $SendTTL(char const *host, ushort remotePort, int ttl, uint connectionSocketIndex)
MCAPI bool AllowIncomingConnections() const
MCAPI void $SetUnreliableTimeout(uint timeoutMS)
MCAPI void ClearBufferedCommands()
MCAPI void $SetMaximumIncomingConnections(ushort numberAllowed)
MCAPI bool $GetConnectionList(::RakNet::SystemAddress *remoteSystems, ushort *numberOfSystems) const
MCAPI bool $SetApplicationHandshakeCompleted(::RakNet::AddressOrGUID systemIdentifier)
MCAPI char const * $GetLocalIP(uint index)
MCAPI void AddPacketToProducer(::RakNet::Packet *p)
MCAPI void $SetIncomingDatagramEventHandler(bool(*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct *))
MCAPI void NotifyAndFlagForShutdown(::RakNet::SystemAddress const systemAddress, bool performImmediate, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority)
MCAPI void $AttachPlugin(::RakNet::PluginInterface2 *plugin)
MCAPI void PingInternal(::RakNet::SystemAddress const target, bool performImmediate, ::PacketReliability reliability)
MCAPI void FillIPList()
MCAPI::RakNet::RakNetGUID $GetGUIDFromIndex(uint index)
MCAPI uint $IncrementNextSendReceipt()
MCAPI::RakNet::ConnectionState $GetConnectionState(::RakNet::AddressOrGUID const systemIdentifier)
MCAPI uint $GetReceiveBufferSize()
MCAPI void $SetUserUpdateThread(void(*_userUpdateThreadPtr)(::RakNet::RakPeerInterface *, void *), void *_userUpdateThreadData)
MCAPI void $ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const &systemAddress)
MCAPI uint $GetMaximumIncomingConnections() const
MCAPI void $DisableSecurity()
MCAPI void $ClearBanList()
MCAPI uint $GetNextSendReceipt()
MCAPI void $resetMyGUID()
MCAPI void DereferenceRemoteSystem(::RakNet::SystemAddress const &sa)
MCAPI void $Ping(::RakNet::SystemAddress const target)
MCAPI void $InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList > banList)
MCAPI void $OnRNS2Recv(::RakNet::RNS2RecvStruct *recvStruct)
MCAPI::RakNet::ConnectionAttemptResult $Connect(char const *host, ushort remotePort, char const *passwordData, int passwordDataLength, ::RakNet::PublicKey *publicKey, uint connectionSocketIndex, uint sendConnectionAttemptCount, uint timeBetweenSendConnectionAttemptsMS, uint timeoutTime)
MCAPI::RakNet::RakNetGUID const & $GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const
MCAPI bool $IsNetworkSimulatorActive()
MCAPI int $GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const
MCAPI bool $IsActive() const
MCAPI void $SetAllowUnconnectedPings(bool unconnectedPings)
MCAPI bool IsLoopbackAddress(::RakNet::AddressOrGUID const &systemIdentifier, bool matchPort) const
MCAPI void $AddToBanList(char const *IP, uint milliseconds)
MCAPI::RakNet::SystemAddress $GetExternalID(::RakNet::SystemAddress const target) const
MCAPI::RakNet::ConnectionAttemptResult $ConnectWithSocket(char const *host, ushort remotePort, char const *passwordData, int passwordDataLength, ::RakNet::RakNetSocket2 *socket, ::RakNet::PublicKey *publicKey, uint sendConnectionAttemptCount, uint timeBetweenSendConnectionAttemptsMS, uint timeoutTime)
MCAPI ushort $NumberOfConnections() const
MCAPI void $SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond)
MCAPI::RakNet::Packet * $Receive()
MCAPI void $GetStatisticsList(::DataStructures::List<::RakNet::SystemAddress > &addresses, ::DataStructures::List<::RakNet::RakNetGUID > &guids, ::DataStructures::List<::RakNet::RakNetStatistics > &statistics)
MCAPI uint GetRemoteSystemIndex(::RakNet::SystemAddress const &sa) const
MCAPI uint $GetNumberOfAdapters()
MCAPI int $GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const
MCAPI void $SendLoopback(char const *data, int const length)
MCAPI bool $SendOutOfBand(char const *host, ushort remotePort, char const *data, uint dataLength, uint connectionSocketIndex)
MCAPI::RakNet::SystemAddress $GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const
MCAPI void $CloseConnection(::RakNet::AddressOrGUID const target, bool sendDisconnectionNotification, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority)
MCAPI bool $IsBanned(char const *IP)
MCAPI bool $InitializeSecurity(char const *public_key, char const *private_key, bool bRequireClientKey)
MCAPI void $DeallocRNS2RecvStruct(::RakNet::RNS2RecvStruct *s, char const *file, uint line)
MCAPI void $SetOccasionalPing(bool doPing)
MCAPI void $GetIncomingPassword(char *passwordData, int *passwordDataLength)
MCAPI int $GetSplitMessageProgressInterval() const
MCAPI void $AddToSecurityExceptionList(char const *ip)
MCAPI void ClearBufferedPackets()
MCAPI::RakNet::SystemAddress $GetMyBoundAddress(int const socketIndex)
MCAPI::RakNet::RNS2RecvStruct * $AllocRNS2RecvStruct(char const *file, uint line)
MCAPI int $GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier)
MCAPI bool $AdvertiseSystem(char const *host, ushort remotePort, char const *data, int dataLength, uint connectionSocketIndex)
MCAPI void $ApplyNetworkSimulator(float packetloss, ushort minExtraPing, ushort extraPingVariance)
MCAPI int $GetMTUSize(::RakNet::SystemAddress const target) const
MCAPI uint $GetTimeoutTime(::RakNet::SystemAddress const target)
MCAPI bool SendImmediate(char *data, uint numberOfBitsToSend, ::PacketPriority priority, ::PacketReliability reliability, char orderingChannel, ::RakNet::AddressOrGUID const systemIdentifier, bool broadcast, bool useCallerDataAllocation, uint64 currentTime, uint receipt)
MCAPI void $RemoveFromBanList(char const *IP)
MCAPI uint64 $GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier)
MCAPI void SendBuffered(char const *data, uint numberOfBitsToSend, ::PacketPriority priority, ::PacketReliability reliability, char orderingChannel, ::RakNet::AddressOrGUID const systemIdentifier, bool broadcast, ::RakNet::RakPeer::RemoteSystemStruct::ConnectMode connectionMode, uint receipt)
MCAPI void $RemoveFromSecurityExceptionList(char const *ip)
MCAPI uint $SendList(char const **data, int const *lengths, int const numParameters, ::PacketPriority priority, ::PacketReliability reliability, char orderingChannel, ::RakNet::AddressOrGUID const systemIdentifier, bool broadcast, uint forceReceiptNumber)
MCAPI void $PushBackPacket(::RakNet::Packet *packet, bool pushAtHead)
MCAPI::RakNet::Packet * $AllocatePacket(uint dataSize)
MCAPI::RakNet::SystemAddress $GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const
MCAPI bool $IsInSecurityExceptionList(char const *ip)
MCAPI::RakNet::RakNetSocket2 * $GetSocket(::RakNet::SystemAddress const target)
MCAPI int $GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const
MCAPI::RakNet::StartupResult $Startup(uint maxConnections, ::RakNet::SocketDescriptor *socketDescriptors, uint socketDescriptorCount, int threadPriority)
MCAPI bool $IsLocalIP(char const *ip)
MCAPI void $DetachPlugin(::RakNet::PluginInterface2 *plugin)
MCAPI uint $GetNumberOfAddresses()
MCAPI void ReferenceRemoteSystem(::RakNet::SystemAddress const &sa, uint remoteSystemListIndex)
MCAPI void $SetIncomingPassword(char const *passwordData, int passwordDataLength)
static MCAPI void CallPluginCallbacks(::DataStructures::List<::RakNet::PluginInterface2 * > &pluginList, ::RakNet::Packet *packet)
MCAPI void $WriteOutOfBandHeader(::RakNet::BitStream *bitStream)
MCAPI void $ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2 * > &sockets)
MCAPI void $DeallocatePacket(::RakNet::Packet *packet)
MCAPI void OnConnectionRequest(::RakNet::RakPeer::RemoteSystemStruct *remoteSystem, uint64 incomingTimestamp)
MCAPI void $AllowConnectionResponseIPMigration(bool allow)
MCAPI void ParseConnectionRequestPacket(::RakNet::RakPeer::RemoteSystemStruct *remoteSystem, ::RakNet::SystemAddress const &systemAddress, char const *data, int byteSize)
MCAPI void $SetSplitMessageProgressInterval(int interval)
MCAPI void $GetSystemList(::DataStructures::List<::RakNet::SystemAddress > &addresses, ::DataStructures::List<::RakNet::RakNetGUID > &guids) const
MCAPI void $GetSockets(::DataStructures::List<::RakNet::RakNetSocket2 * > &sockets)
Definition RakString.h:15
Definition ShadowBanList.h:15
STL namespace.
Definition AddressOrGUID.h:10
Definition NetworkAdapter.h:7
Definition Packet.h:7
Definition PublicKey.h:7
Definition RNS2RecvStruct.h:15
Definition RakNetGUID.h:7
Definition RakNetStatistics.h:7
Definition RakPeer.h:62
Definition RakPeer.h:174
Definition RemoteSystemIndex.h:7
Definition SocketDescriptor.h:7
Definition SystemAddress.h:7