LeviLamina
Loading...
Searching...
No Matches
RakPeerInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/raknet/ConnectionAttemptResult.h"
7#include "mc/deps/raknet/ConnectionState.h"
8#include "mc/deps/raknet/PacketPriority.h"
9#include "mc/deps/raknet/PacketReliability.h"
10#include "mc/deps/raknet/StartupResult.h"
11#include "mc/deps/raknet/data_structures/List.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace RakNet { class BitStream; }
16namespace RakNet { class PluginInterface2; }
17namespace RakNet { class RakNetSocket2; }
18namespace RakNet { class ShadowBanList; }
19namespace RakNet { struct AddressOrGUID; }
20namespace RakNet { struct NetworkAdapter; }
21namespace RakNet { struct Packet; }
22namespace RakNet { struct PublicKey; }
23namespace RakNet { struct RNS2RecvStruct; }
24namespace RakNet { struct RakNetGUID; }
25namespace RakNet { struct RakNetStatistics; }
26namespace RakNet { struct SocketDescriptor; }
27namespace RakNet { struct SystemAddress; }
28// clang-format on
29
30namespace RakNet {
31
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ~RakPeerInterface() = default;
37
38 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) = 0;
39
40 virtual ::RakNet::StartupResult Startup(
41 uint maxConnections,
42 ::RakNet::SocketDescriptor* socketDescriptors,
43 uint socketDescriptorCount,
44 int threadPriority
45 ) = 0;
46
47 virtual bool InitializeSecurity(char const*, char const*, bool) = 0;
48
49 virtual void DisableSecurity() = 0;
50
51 virtual void AddToSecurityExceptionList(char const* ip) = 0;
52
53 virtual void RemoveFromSecurityExceptionList(char const* ip) = 0;
54
55 virtual bool IsInSecurityExceptionList(char const* ip) = 0;
56
57 virtual void SetMaximumIncomingConnections(ushort numberAllowed) = 0;
58
59 virtual uint GetMaximumIncomingConnections() const = 0;
60
61 virtual ushort NumberOfConnections() const = 0;
62
63 virtual void SetIncomingPassword(char const* passwordData, int passwordDataLength) = 0;
64
65 virtual void GetIncomingPassword(char* passwordData, int* passwordDataLength) = 0;
66
67 virtual ::RakNet::ConnectionAttemptResult Connect(
68 char const* host,
69 ushort remotePort,
70 char const* passwordData,
71 int passwordDataLength,
72 ::RakNet::PublicKey* publicKey,
73 uint connectionSocketIndex,
74 uint sendConnectionAttemptCount,
75 uint timeBetweenSendConnectionAttemptsMS,
76 uint timeoutTime
77 ) = 0;
78
79 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
80 char const* host,
81 ushort remotePort,
82 char const* passwordData,
83 int passwordDataLength,
85 ::RakNet::PublicKey* publicKey,
86 uint sendConnectionAttemptCount,
87 uint timeBetweenSendConnectionAttemptsMS,
88 uint timeoutTime
89 ) = 0;
90
91 virtual void
92 Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority) = 0;
93
94 virtual bool SetApplicationHandshakeCompleted(::RakNet::AddressOrGUID systemIdentifier) = 0;
95
96 virtual bool IsActive() const = 0;
97
98 virtual bool GetConnectionList(::RakNet::SystemAddress* remoteSystems, ushort* numberOfSystems) const = 0;
99
100 virtual uint GetNextSendReceipt() = 0;
101
102 virtual uint IncrementNextSendReceipt() = 0;
103
104 virtual uint Send(
105 char const* data,
106 int const length,
107 ::PacketPriority priority,
108 ::PacketReliability reliability,
109 char orderingChannel,
110 ::RakNet::AddressOrGUID const systemIdentifier,
111 bool broadcast,
112 uint forceReceiptNumber
113 ) = 0;
114
115 virtual uint Send(
116 ::RakNet::BitStream const* bitStream,
117 ::PacketPriority priority,
118 ::PacketReliability reliability,
119 char orderingChannel,
120 ::RakNet::AddressOrGUID const systemIdentifier,
121 bool broadcast,
122 uint forceReceiptNumber
123 ) = 0;
124
125 virtual void SendLoopback(char const* data, int const length) = 0;
126
127 virtual uint SendList(
128 char const** data,
129 int const* lengths,
130 int const numParameters,
131 ::PacketPriority priority,
132 ::PacketReliability reliability,
133 char orderingChannel,
134 ::RakNet::AddressOrGUID const systemIdentifier,
135 bool broadcast,
136 uint forceReceiptNumber
137 ) = 0;
138
139 virtual ::RakNet::Packet* Receive() = 0;
140
141 virtual void DeallocatePacket(::RakNet::Packet* packet) = 0;
142
143 virtual uint GetMaximumNumberOfPeers() const = 0;
144
145 virtual void CloseConnection(
146 ::RakNet::AddressOrGUID const target,
147 bool sendDisconnectionNotification,
148 uchar orderingChannel,
149 ::PacketPriority disconnectionNotificationPriority
150 ) = 0;
151
152 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::AddressOrGUID const systemIdentifier) = 0;
153
154 virtual void CancelConnectionAttempt(::RakNet::SystemAddress const target) = 0;
155
156 virtual int GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const = 0;
157
158 virtual ::RakNet::SystemAddress GetSystemAddressFromIndex(uint index) = 0;
159
160 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) = 0;
161
162 virtual void GetSystemList(
165 ) const = 0;
166
167 virtual void AddToBanList(char const* IP, uint milliseconds) = 0;
168
169 virtual void RemoveFromBanList(char const* IP) = 0;
170
171 virtual void ClearBanList() = 0;
172
173 virtual bool IsBanned(char const* IP) = 0;
174
175 virtual void SetLimitIPConnectionFrequency(bool b) = 0;
176
177 virtual void Ping(::RakNet::SystemAddress const target) = 0;
178
179 virtual bool
180 Ping(char const* host, ushort remotePort, bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex) = 0;
181
182 virtual void SendNatTraversalMessage(::RakNet::SystemAddress const target) = 0;
183
184 virtual int GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier) = 0;
185
186 virtual int GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
187
188 virtual int GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
189
190 virtual void SetOccasionalPing(bool doPing) = 0;
191
192 virtual uint64 GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier) = 0;
193
194 virtual void SetAllowUnconnectedPings(bool unconnectedPings) = 0;
195
196 virtual bool GetAllowUnconnectedPings() const = 0;
197
198 virtual void SetOfflinePingResponse(char const* data, uint const length) = 0;
199
200 virtual void GetOfflinePingResponse(char** data, uint* length) = 0;
201
202 virtual ::RakNet::SystemAddress
203 GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const = 0;
204
205 virtual void SetInternalID(::RakNet::SystemAddress systemAddress, int index) = 0;
206
207 virtual ::RakNet::SystemAddress GetExternalID(::RakNet::SystemAddress const target) const = 0;
208
209 virtual ::RakNet::RakNetGUID const GetMyGUID() const = 0;
210
211 virtual void resetMyGUID() = 0;
212
213 virtual ::RakNet::SystemAddress GetMyBoundAddress(int const socketIndex) = 0;
214
215 virtual ::RakNet::RakNetGUID const& GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const = 0;
216
217 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const = 0;
218
219 virtual bool GetClientPublicKeyFromSystemAddress(::RakNet::SystemAddress const, char*) const = 0;
220
221 virtual void SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target) = 0;
222
223 virtual uint GetTimeoutTime(::RakNet::SystemAddress const target) = 0;
224
225 virtual int GetMTUSize(::RakNet::SystemAddress const target) const = 0;
226
227 virtual uint GetNumberOfAdapters() = 0;
228
229 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) = 0;
230
231 virtual uint GetNumberOfAddresses() = 0;
232
233 virtual char const* GetLocalIP(uint index) = 0;
234
235 virtual bool IsLocalIP(char const* ip) = 0;
236
237 virtual void AllowConnectionResponseIPMigration(bool allow) = 0;
238
239 virtual bool AdvertiseSystem(
240 char const* host,
241 ushort remotePort,
242 char const* data,
243 int dataLength,
244 uint connectionSocketIndex
245 ) = 0;
246
247 virtual void SetSplitMessageProgressInterval(int interval) = 0;
248
249 virtual int GetSplitMessageProgressInterval() const = 0;
250
251 virtual void SetUnreliableTimeout(uint timeoutMS) = 0;
252
253 virtual void SendTTL(char const* host, ushort remotePort, int ttl, uint connectionSocketIndex) = 0;
254
255 virtual void AttachPlugin(::RakNet::PluginInterface2* plugin) = 0;
256
257 virtual void DetachPlugin(::RakNet::PluginInterface2* plugin) = 0;
258
259 virtual void PushBackPacket(::RakNet::Packet* packet, bool pushAtHead) = 0;
260
261 virtual void ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const& systemAddress) = 0;
262
263 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) = 0;
264
265 virtual ::RakNet::RakNetSocket2* GetSocket(::RakNet::SystemAddress const target) = 0;
266
267 virtual void GetSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
268
269 virtual void ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
270
271 virtual void WriteOutOfBandHeader(::RakNet::BitStream* bitStream) = 0;
272
273 virtual void SetUserUpdateThread(
274 void (*_userUpdateThreadPtr)(::RakNet::RakPeerInterface*, void*),
275 void* _userUpdateThreadData
276 ) = 0;
277
278 virtual void SetIncomingDatagramEventHandler(bool (*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct*)) = 0;
279
280 virtual void ApplyNetworkSimulator(float, ushort, ushort) = 0;
281
282 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) = 0;
283
284 virtual bool IsNetworkSimulatorActive() = 0;
285
286 virtual ::RakNet::RakNetStatistics*
287 GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics* rns) = 0;
288
289 virtual bool GetStatistics(uint const index, ::RakNet::RakNetStatistics* rns) = 0;
290
291 virtual void GetStatisticsList(
295 ) = 0;
296
297 virtual uint GetReceiveBufferSize() = 0;
298
299 virtual bool RunUpdateCycle(::RakNet::BitStream& updateBitStream) = 0;
300
301 virtual bool SendOutOfBand(
302 char const* host,
303 ushort remotePort,
304 char const* data,
305 uint dataLength,
306 uint connectionSocketIndex
307 ) = 0;
308 // NOLINTEND
309
310public:
311 // static functions
312 // NOLINTBEGIN
313 MCFOLD static void DestroyInstance(::RakNet::RakPeerInterface* i);
314
315 MCAPI static uint64 Get64BitUniqueRandomNumber();
316
317 MCAPI static ::RakNet::RakPeerInterface* GetInstance();
318 // NOLINTEND
319
320public:
321 // virtual function thunks
322 // NOLINTBEGIN
323
324 // NOLINTEND
325};
326
327} // namespace RakNet
Definition List.h:8
Definition BitStream.h:7
Definition PluginInterface2.h:20
Definition RakNetSocket2.h:12
Definition RakPeerInterface.h:32
Definition ShadowBanList.h:15
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 SocketDescriptor.h:7
Definition SystemAddress.h:7