LeviLamina
Loading...
Searching...
No Matches
NetworkSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/network/DevConnectionQuality.h"
9#include "mc/network/NetworkEnableDisableListener.h"
10#include "mc/network/RakNetConnector.h"
11#include "mc/network/RakPeerHelper.h"
12#include "mc/network/connection/DisconnectFailReason.h"
13
14// auto generated forward declare list
15// clang-format off
19class NetworkPeer;
20class Packet;
22class RemoteConnector;
23class WeakEntityRef;
25// clang-format on
26
30public:
31 // NetworkSystem inner types declare
32 // clang-format off
33 struct Dependencies;
35 // clang-format on
36
37 // NetworkSystem inner types define
38 struct Dependencies {
39 public:
40 // member variables
41 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 Dependencies& operator=(Dependencies const&);
56
57 public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI ~Dependencies();
61 // NOLINTEND
62
63 public:
64 // destructor thunk
65 // NOLINTBEGIN
66 MCAPI void $dtor();
67 // NOLINTEND
68 };
69
71 public:
72 // member variables
73 // NOLINTBEGIN
76 // NOLINTEND
77
78 public:
79 // prevent constructor by default
83 };
84
85public:
86 // member variables
87 // NOLINTBEGIN
113 // NOLINTEND
114
115public:
116 // prevent constructor by default
117 NetworkSystem& operator=(NetworkSystem const&);
120
121public:
122 // virtual functions
123 // NOLINTBEGIN
124 // vIndex: 1
125 virtual bool useIPv4Only() const /*override*/;
126
127 // vIndex: 2
128 virtual bool useIPv6Only() const /*override*/;
129
130 // vIndex: 3
131 virtual ushort getDefaultGamePort() const /*override*/;
132
133 // vIndex: 4
134 virtual ushort getDefaultGamePortv6() const /*override*/;
135
136 // vIndex: 0
137 virtual ~NetworkSystem() /*override*/;
138
139 // vIndex: 1
140 virtual void _onDisable() /*override*/;
141
142 // vIndex: 2
143 virtual void _onEnable() /*override*/;
144
145 // vIndex: 1
146 virtual bool
147 onNewIncomingConnection(::NetworkIdentifier const& id, ::std::shared_ptr<::NetworkPeer>&& peer) /*override*/;
148
149 // vIndex: 2
150 virtual bool
151 onNewOutgoingConnection(::NetworkIdentifier const& id, ::std::shared_ptr<::NetworkPeer>&& peer) /*override*/;
152
153 // vIndex: 3
154 virtual void onConnectionClosed(
155 ::NetworkIdentifier const&,
156 ::Connection::DisconnectFailReason const,
157 ::std::string const&,
158 bool
159 ) /*override*/;
160
161 // vIndex: 4
162 virtual void onAllConnectionsClosed(::Connection::DisconnectFailReason, ::std::string const&, bool) /*override*/;
163
164 // vIndex: 5
165 virtual void
166 onAllRemoteConnectionsClosed(::Connection::DisconnectFailReason, ::std::string const&, bool) /*override*/;
167
168 // vIndex: 6
169 virtual void onOutgoingConnectionFailed(::Connection::DisconnectFailReason, ::std::string const&) /*override*/;
170
171 // vIndex: 7
172 virtual void onWebsocketRequest(
173 ::std::string const& serverAddress,
174 ::std::string const& payload,
175 ::std::function<void()> errorCallback
176 ) /*override*/;
177 // NOLINTEND
178
179public:
180 // member functions
181 // NOLINTBEGIN
182 MCAPI explicit NetworkSystem(::NetworkSystem::Dependencies&& deps);
183
184 MCAPI ::NetworkConnection* _getConnectionFromId(::NetworkIdentifier const& id) const;
185
186 MCAPI bool _isUsingNetherNetTransportLayer() const;
187
188 MCAPI bool
189 _sortAndPacketizeEvents(::NetworkConnection& connection, ::std::chrono::steady_clock::time_point endTime);
190
191 MCAPI void disconnect();
192
193 MCAPI void enableAsyncFlush(::NetworkIdentifier const& id);
194
195 MCAPI ::std::weak_ptr<::EncryptedNetworkPeer> getEncryptedPeerForUser(::NetworkIdentifier const& id);
196
197 MCAPI ::NetworkPeer* getPeerForUser(::NetworkIdentifier const& id);
198
199 MCAPI ::Bedrock::NotNullNonOwnerPtr<::RemoteConnector> getRemoteConnector();
200
201 MCAPI bool isServer() const;
202
203 MCAPI void runEvents(bool networkIsCritical);
204
205 MCAPI void send(::NetworkIdentifier const& id, ::Packet const& packet, ::SubClientId senderSubId);
206
207 MCAPI void sendToMultiple(::std::vector<::NetworkIdentifierWithSubId> const& ids, ::Packet const& packet);
208
209 MCAPI void setDevConnectionQuality(::DevConnectionQuality quality);
210
211 MCAPI void update(::std::vector<::WeakEntityRef> const* userList);
212 // NOLINTEND
213
214public:
215 // constructor thunks
216 // NOLINTBEGIN
217 MCAPI void* $ctor(::NetworkSystem::Dependencies&& deps);
218 // NOLINTEND
219
220public:
221 // destructor thunk
222 // NOLINTBEGIN
223 MCAPI void $dtor();
224 // NOLINTEND
225
226public:
227 // virtual function thunks
228 // NOLINTBEGIN
229 MCFOLD bool $useIPv4Only() const;
230
231 MCAPI bool $useIPv6Only() const;
232
233 MCAPI ushort $getDefaultGamePort() const;
234
235 MCAPI ushort $getDefaultGamePortv6() const;
236
237 MCAPI void $_onDisable();
238
239 MCAPI void $_onEnable();
240
241 MCAPI bool $onNewIncomingConnection(::NetworkIdentifier const& id, ::std::shared_ptr<::NetworkPeer>&& peer);
242
243 MCAPI bool $onNewOutgoingConnection(::NetworkIdentifier const& id, ::std::shared_ptr<::NetworkPeer>&& peer);
244
245 MCAPI void $onWebsocketRequest(
246 ::std::string const& serverAddress,
247 ::std::string const& payload,
248 ::std::function<void()> errorCallback
249 );
250 // NOLINTEND
251
252public:
253 // vftables
254 // NOLINTBEGIN
255 MCAPI static void** $vftableForConnectionCallbacks();
256
257 MCAPI static void** $vftableForIPSupportInterface();
258
259 MCAPI static void** $vftableForNetworkEnableDisableListener();
260 // NOLINTEND
261};
Definition EncryptedNetworkPeer.h:9
Definition NetworkConnection.h:28
Definition NetworkEnableDisableListener.h:5
Definition NetworkIdentifier.h:11
Definition NetworkPeer.h:8
Definition NetworkSystem.h:29
Definition PacketSecurityController.h:10
Definition Packet.h:26
Definition RakPeerHelper.h:23
Definition RemoteConnector.h:19
Definition WeakEntityRef.h:14
STL namespace.
Definition NetworkIdentifierWithSubId.h:14
Definition NetworkSystem.h:38
Definition NetworkSystem.h:70
Definition RakNetConnector.h:40
Definition Alias.h:14