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* public_key, char const* private_key, bool bRequireClientKey) = 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 int GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const = 0;
155
156 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) = 0;
157
158 virtual void GetSystemList(
161 ) const = 0;
162
163 virtual void AddToBanList(char const* IP, uint milliseconds) = 0;
164
165 virtual void RemoveFromBanList(char const* IP) = 0;
166
167 virtual void ClearBanList() = 0;
168
169 virtual bool IsBanned(char const* IP) = 0;
170
171 virtual void Ping(::RakNet::SystemAddress const target) = 0;
172
173 virtual bool
174 Ping(char const* host, ushort remotePort, bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex) = 0;
175
176 virtual int GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier) = 0;
177
178 virtual int GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
179
180 virtual int GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
181
182 virtual void SetOccasionalPing(bool doPing) = 0;
183
184 virtual uint64 GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier) = 0;
185
186 virtual void SetAllowUnconnectedPings(bool unconnectedPings) = 0;
187
188 virtual bool GetAllowUnconnectedPings() const = 0;
189
190 virtual void SetOfflinePingResponse(char const* data, uint const length) = 0;
191
192 virtual ::RakNet::SystemAddress
193 GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const = 0;
194
195 virtual ::RakNet::SystemAddress GetExternalID(::RakNet::SystemAddress const target) const = 0;
196
197 virtual ::RakNet::RakNetGUID const GetMyGUID() const = 0;
198
199 virtual void resetMyGUID() = 0;
200
201 virtual ::RakNet::SystemAddress GetMyBoundAddress(int const socketIndex) = 0;
202
203 virtual ::RakNet::RakNetGUID const& GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const = 0;
204
205 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const = 0;
206
207 virtual void SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target) = 0;
208
209 virtual uint GetTimeoutTime(::RakNet::SystemAddress const target) = 0;
210
211 virtual int GetMTUSize(::RakNet::SystemAddress const target) const = 0;
212
213 virtual uint GetNumberOfAdapters() = 0;
214
215 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) = 0;
216
217 virtual uint GetNumberOfAddresses() = 0;
218
219 virtual char const* GetLocalIP(uint index) = 0;
220
221 virtual bool IsLocalIP(char const* ip) = 0;
222
223 virtual void AllowConnectionResponseIPMigration(bool allow) = 0;
224
225 virtual bool AdvertiseSystem(
226 char const* host,
227 ushort remotePort,
228 char const* data,
229 int dataLength,
230 uint connectionSocketIndex
231 ) = 0;
232
233 virtual void SetSplitMessageProgressInterval(int interval) = 0;
234
235 virtual int GetSplitMessageProgressInterval() const = 0;
236
237 virtual void SetUnreliableTimeout(uint timeoutMS) = 0;
238
239 virtual void SendTTL(char const* host, ushort remotePort, int ttl, uint connectionSocketIndex) = 0;
240
241 virtual void AttachPlugin(::RakNet::PluginInterface2* plugin) = 0;
242
243 virtual void DetachPlugin(::RakNet::PluginInterface2* plugin) = 0;
244
245 virtual void PushBackPacket(::RakNet::Packet* packet, bool pushAtHead) = 0;
246
247 virtual void ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const& systemAddress) = 0;
248
249 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) = 0;
250
251 virtual ::RakNet::RakNetSocket2* GetSocket(::RakNet::SystemAddress const target) = 0;
252
253 virtual void GetSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
254
255 virtual void ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
256
257 virtual void WriteOutOfBandHeader(::RakNet::BitStream* bitStream) = 0;
258
259 virtual void SetUserUpdateThread(
260 void (*_userUpdateThreadPtr)(::RakNet::RakPeerInterface*, void*),
261 void* _userUpdateThreadData
262 ) = 0;
263
264 virtual void SetIncomingDatagramEventHandler(bool (*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct*)) = 0;
265
266 virtual void ApplyNetworkSimulator(float packetloss, ushort minExtraPing, ushort extraPingVariance) = 0;
267
268 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) = 0;
269
270 virtual bool IsNetworkSimulatorActive() = 0;
271
272 virtual ::RakNet::RakNetStatistics*
273 GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics* rns) = 0;
274
275 virtual bool GetStatistics(uint const index, ::RakNet::RakNetStatistics* rns) = 0;
276
277 virtual void GetStatisticsList(
281 ) = 0;
282
283 virtual uint GetReceiveBufferSize() = 0;
284
285 virtual bool RunUpdateCycle(::RakNet::BitStream& updateBitStream) = 0;
286
287 virtual bool SendOutOfBand(
288 char const* host,
289 ushort remotePort,
290 char const* data,
291 uint dataLength,
292 uint connectionSocketIndex
293 ) = 0;
294 // NOLINTEND
295
296public:
297 // static functions
298 // NOLINTBEGIN
299 MCAPI static uint64 Get64BitUniqueRandomNumber();
300 // NOLINTEND
301};
302
303} // 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