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 // ServerNetworkSystem inner types define
37 using DependencyFactory = ::brstd::function_ref<::NetworkSystem::Dependencies()>;
38
40
41public:
42 // prevent constructor by default
43 ServerNetworkSystem();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~ServerNetworkSystem() /*override*/ = default;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI ServerNetworkSystem(
56 ::brstd::function_ref<::std::unique_ptr<::NetworkStatistics>()> stats
57 );
58
59 MCAPI ServerNetworkSystem(
60 ::Scheduler& receiveThread,
61 ::std::vector<::std::string> const& overrideBroadcastAddresses,
62 ::NetworkSystemToggles const& networkToggles,
64 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
65 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
66 ::NetworkSettingOptions const& networkSettingOption,
67 ::PortMappingInfo const& portMappingInfo,
68 ::NetherNet::LogSeverity defaultLogSeverity,
69 ::std::optional<::NetherNet::NetworkID> networkId,
71 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
72 ::std::unique_ptr<::IPacketSerializationController> packetController
73 );
74
75 MCAPI ::std::unique_ptr<::NetworkStatistics> _createNetworkStatistics(
76 ::NetworkSystemToggles const& networkToggles,
78 );
79
80#ifdef LL_PLAT_C
81 MCAPI ::std::shared_ptr<::SignalingServiceSignInJob> createSignalingServiceSigninJobIfNeeded(
82 ::std::shared_ptr<::SignalingService> signalingService,
83 ::Bedrock::Threading::Async<::std::optional<::PlayerMessaging::NetworkID>>&& playerMessagingId
84 );
85#endif
86
87 MCAPI ::NetworkIdentifier getLocalNetworkId() const;
88
89 MCAPI ::std::string getMultiplayerCorrelationId() const;
90
91 MCAPI bool host(::ConnectionDefinition const& definition);
92
93 MCAPI void reloadPacketLimitConfig(::PacketGroupDefinition::PacketGroupBuilder&& packetGroupBuilder);
94 // NOLINTEND
95
96public:
97 // static functions
98 // NOLINTBEGIN
99 MCAPI static ::NetworkSystem::Dependencies _createConstructionDependencies(
100 ::ServerNetworkSystem* pThis,
101 ::Scheduler& receiveThread,
102 ::std::vector<::std::string> const& overrideBroadcastAddresses,
103 ::NetworkSystemToggles const& networkToggles,
104 ::NetherNetTransportFactory const& transportFactory,
105 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
106 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
107 ::NetworkSettingOptions const& networkSettingOptions,
108 ::std::optional<::NetherNet::NetworkID> networkId,
110 ::std::unique_ptr<::IPacketSerializationController> packetController
111 );
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor(
119 ::brstd::function_ref<::std::unique_ptr<::NetworkStatistics>()> stats
120 );
121
122 MCAPI void* $ctor(
123 ::Scheduler& receiveThread,
124 ::std::vector<::std::string> const& overrideBroadcastAddresses,
125 ::NetworkSystemToggles const& networkToggles,
127 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
128 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
129 ::NetworkSettingOptions const& networkSettingOption,
130 ::PortMappingInfo const& portMappingInfo,
131 ::NetherNet::LogSeverity defaultLogSeverity,
132 ::std::optional<::NetherNet::NetworkID> networkId,
134 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
135 ::std::unique_ptr<::IPacketSerializationController> packetController
136 );
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
143
144 MCNAPI static void** $vftableForConnectionCallbacks();
145
146 MCNAPI static void** $vftable();
147
148 MCNAPI static void** $vftableForIPSupportInterface();
149 // NOLINTEND
150};
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:15
Definition NetworkIdentifier.h:10
Definition NetworkSessionOwner.h:9
Definition NetworkStatistics.h:23
Definition Scheduler.h:15
static MCAPI void ** $vftableForConnectionCallbacks()
static MCAPI void ** $vftable()
static MCAPI void ** $vftableForNetworkEnableDisableListener()
static MCAPI void ** $vftableForIPSupportInterface()
Definition SignalingServiceSignInJob.h:23
Definition SignalingService.h:41
Definition function_ref.h:60
Definition ConnectionDefinition.h:5
Definition NetworkID.h:17
Definition NetworkSettingOptions.h:9
Definition NetworkSystemToggles.h:11
Definition NetworkSystem.h:59
Definition PacketGroupDefinition.h:22
Definition NetworkID.h:13
Definition PortMappingInfo.h:5