LeviLamina
Loading...
Searching...
No Matches
ServerNetworkSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/Async.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/nether_net/LogSeverity.h"
10#include "mc/network/NetworkSystem.h"
11#include "mc/network/PacketGroupDefinition.h"
12#include "mc/platform/brstd/function_ref.h"
13
14// auto generated forward declare list
15// clang-format off
16class AppPlatform;
23class Scheduler;
29struct PortMappingInfo;
30namespace NetherNet { struct NetworkID; }
31namespace PlayerMessaging { struct NetworkID; }
32// clang-format on
33
34class ServerNetworkSystem : public ::Bedrock::EnableNonOwnerReferences, public ::NetworkSystem {
35public:
36 // prevent constructor by default
37 ServerNetworkSystem();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~ServerNetworkSystem() /*override*/;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ServerNetworkSystem(
49 ::Scheduler& receiveThread,
50 ::std::vector<::std::string> const& overrideBroadcastAddresses,
51 ::NetworkSystemToggles const& networkToggles,
53 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
54 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
55 ::NetworkSettingOptions const& networkSettingOption,
56 ::PortMappingInfo const& portMappingInfo,
57 ::NetherNet::LogSeverity defaultLogSeverity,
58 ::std::optional<::NetherNet::NetworkID> networkId,
60 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
61 ::std::unique_ptr<::IPacketSerializationController> packetController
62 );
63
64 MCAPI ::std::unique_ptr<::NetworkStatistics> _createNetworkStatistics(
65 ::NetworkSystemToggles const& networkToggles,
67 );
68
69#ifdef LL_PLAT_C
70 MCAPI ::std::shared_ptr<::SignalingServiceSignInJob> createSignalingServiceSigninJobIfNeeded(
71 ::std::shared_ptr<::SignalingService> signalingService,
72 ::Bedrock::Threading::Async<::std::optional<::PlayerMessaging::NetworkID>>&& playerMessagingId
73 );
74#endif
75
76 MCAPI ::NetworkIdentifier getLocalNetworkId() const;
77
78 MCAPI ::std::string getMultiplayerCorrelationId() const;
79
80 MCAPI bool host(::ConnectionDefinition const& definition);
81
82 MCAPI void reloadPacketLimitConfig(::PacketGroupDefinition::PacketGroupBuilder&& packetGroupBuilder);
83 // NOLINTEND
84
85public:
86 // static functions
87 // NOLINTBEGIN
88 MCAPI static ::NetworkSystem::Dependencies _createConstructionDependencies(
89 ::ServerNetworkSystem* pThis,
90 ::Scheduler& receiveThread,
91 ::std::vector<::std::string> const& overrideBroadcastAddresses,
92 ::NetworkSystemToggles const& networkToggles,
93 ::NetherNetTransportFactory const& transportFactory,
94 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
95 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
96 ::NetworkSettingOptions const& networkSettingOptions,
97 ::std::optional<::NetherNet::NetworkID> networkId,
99 ::std::unique_ptr<::IPacketSerializationController> packetController
100 );
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(
107 ::Scheduler& receiveThread,
108 ::std::vector<::std::string> const& overrideBroadcastAddresses,
109 ::NetworkSystemToggles const& networkToggles,
111 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
112 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
113 ::NetworkSettingOptions const& networkSettingOption,
114 ::PortMappingInfo const& portMappingInfo,
115 ::NetherNet::LogSeverity defaultLogSeverity,
116 ::std::optional<::NetherNet::NetworkID> networkId,
118 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
119 ::std::unique_ptr<::IPacketSerializationController> packetController
120 );
121 // NOLINTEND
122
123public:
124 // destructor thunk
125 // NOLINTBEGIN
126 MCAPI void $dtor();
127 // NOLINTEND
128
129public:
130 // vftables
131 // NOLINTBEGIN
133
134 MCNAPI static void** $vftableForConnectionCallbacks();
135
136 MCNAPI static void** $vftable();
137
138 MCNAPI static void** $vftableForIPSupportInterface();
139 // NOLINTEND
140};
Definition AppPlatform.h:91
Definition EnableNonOwnerReferences.h:7
Definition NonOwnerPointer.h:9
Definition Async.h:8
Definition IPacketSerializationController.h:9
Definition NetherNetTransportFactory.h:18
Definition NetworkDebugManager.h:14
Definition NetworkIdentifier.h:10
Definition NetworkSessionOwner.h:9
Definition NetworkStatistics.h:23
Definition Scheduler.h:14
static MCAPI void ** $vftableForConnectionCallbacks()
static MCAPI void ** $vftable()
static MCAPI void ** $vftableForNetworkEnableDisableListener()
static MCAPI void ** $vftableForIPSupportInterface()
Definition SignalingServiceSignInJob.h:22
Definition SignalingService.h:39
Definition ConnectionDefinition.h:5
Definition NetworkID.h:17
Definition NetworkSettingOptions.h:9
Definition NetworkSystemToggles.h:11
Definition PacketGroupDefinition.h:21
Definition NetworkID.h:12
Definition PortMappingInfo.h:5