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;
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(
55 ::Scheduler& receiveThread,
56 ::std::vector<::std::string> const& overrideBroadcastAddresses,
57 ::NetworkSystemToggles const& networkToggles,
59 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
60 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
61 ::NetworkSettingOptions const& networkSettingOption,
62 ::PortConfiguration const& portConfig,
63 ::NetherNet::LogSeverity defaultLogSeverity,
64 ::std::optional<::NetherNet::NetworkID> networkId,
66 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
67 ::std::unique_ptr<::IPacketSerializationController> packetController
68 );
69
70#ifdef LL_PLAT_C
71 MCAPI ::std::shared_ptr<::SignalingServiceSignInJob> createSignalingServiceSigninJobIfNeeded(
72 ::std::shared_ptr<::SignalingService> signalingService,
73 ::Bedrock::Threading::Async<::std::optional<::PlayerMessaging::NetworkID>>&& playerMessagingId
74 );
75#endif
76
77 MCAPI ::NetworkIdentifier getLocalNetworkId() const;
78
79 MCAPI bool host(::ConnectionDefinition const& definition, ::PrivateKeyManager const& keys);
80
81#ifdef LL_PLAT_S
82 MCAPI void reloadPacketLimitConfig(::PacketGroupDefinition::PacketGroupBuilder&& packetGroupBuilder);
83#endif
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCAPI void* $ctor(
90 ::Scheduler& receiveThread,
91 ::std::vector<::std::string> const& overrideBroadcastAddresses,
92 ::NetworkSystemToggles const& networkToggles,
94 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
95 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
96 ::NetworkSettingOptions const& networkSettingOption,
97 ::PortConfiguration const& portConfig,
98 ::NetherNet::LogSeverity defaultLogSeverity,
99 ::std::optional<::NetherNet::NetworkID> networkId,
101 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
102 ::std::unique_ptr<::IPacketSerializationController> packetController
103 );
104 // NOLINTEND
105};
Definition AppPlatform.h:91
Definition EnableNonOwnerReferences.h:7
Definition NonOwnerPointer.h:9
Definition Async.h:8
Definition IPacketSerializationController.h:9
Definition NetworkDebugManager.h:14
Definition NetworkIdentifier.h:10
Definition NetworkSessionOwner.h:9
Definition NetworkStatistics.h:22
Definition PrivateKeyManager.h:9
Definition Scheduler.h:14
Definition SignalingServiceSignInJob.h:22
Definition SignalingService.h:35
Definition function_ref.h:60
Definition ConnectionDefinition.h:5
Definition NetworkID.h:17
Definition NetworkSettingOptions.h:9
Definition NetworkSystemToggles.h:11
Definition NetworkSystem.h:54
Definition PacketGroupDefinition.h:22
Definition NetworkID.h:12
Definition PortConfiguration.h:13