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 MCAPI_C ::std::shared_ptr<::SignalingServiceSignInJob> createSignalingServiceSigninJobIfNeeded(
70 ::std::shared_ptr<::SignalingService> signalingService,
71 bool useJsonRpc,
72 ::Bedrock::Threading::Async<::std::optional<::PlayerMessaging::NetworkID>>&& playerMessagingId
73 );
74
75 MCAPI ::NetworkIdentifier getLocalNetworkId() const;
76
77 MCAPI ::std::string getMultiplayerCorrelationId() const;
78
79 MCAPI bool host(::ConnectionDefinition const& definition);
80
81 MCAPI void reloadPacketLimitConfig(::PacketGroupDefinition::PacketGroupBuilder&& packetGroupBuilder);
82 // NOLINTEND
83
84public:
85 // static functions
86 // NOLINTBEGIN
87 MCAPI static ::NetworkSystem::Dependencies _createConstructionDependencies(
88 ::ServerNetworkSystem* pThis,
89 ::Scheduler& receiveThread,
90 ::std::vector<::std::string> const& overrideBroadcastAddresses,
91 ::NetworkSystemToggles const& networkToggles,
92 ::NetherNetTransportFactory const& transportFactory,
93 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
94 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
95 ::NetworkSettingOptions const& networkSettingOptions,
96 ::std::optional<::NetherNet::NetworkID> networkId,
98 ::std::unique_ptr<::IPacketSerializationController> packetController
99 );
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(
106 ::Scheduler& receiveThread,
107 ::std::vector<::std::string> const& overrideBroadcastAddresses,
108 ::NetworkSystemToggles const& networkToggles,
110 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
111 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
112 ::NetworkSettingOptions const& networkSettingOption,
113 ::PortMappingInfo const& portMappingInfo,
114 ::NetherNet::LogSeverity defaultLogSeverity,
115 ::std::optional<::NetherNet::NetworkID> networkId,
117 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
118 ::std::unique_ptr<::IPacketSerializationController> packetController
119 );
120 // NOLINTEND
121
122public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCAPI void $dtor();
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
132
133 MCNAPI static void** $vftableForConnectionCallbacks();
134
135 MCNAPI static void** $vftable();
136
137 MCNAPI static void** $vftableForIPSupportInterface();
138 // NOLINTEND
139};
Definition AppPlatform.h:90
Definition EnableNonOwnerReferences.h:7
Definition NonOwnerPointer.h:9
Definition Async.h:8
Definition IPacketSerializationController.h:9
Definition NetherNetTransportFactory.h:18
Definition NetworkDebugManager.h:10
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:21
Definition SignalingService.h:38
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