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;
22class Scheduler;
29namespace NetherNet { struct NetworkID; }
30namespace PlayerMessaging { struct NetworkID; }
31// clang-format on
32
33class ServerNetworkSystem : public ::Bedrock::EnableNonOwnerReferences, public ::NetworkSystem {
34public:
35 // ServerNetworkSystem inner types define
36 using DependencyFactory = ::brstd::function_ref<::NetworkSystem::Dependencies()>;
37
39
40public:
41 // prevent constructor by default
42 ServerNetworkSystem();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~ServerNetworkSystem() /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI ServerNetworkSystem(
54 ::Scheduler& receiveThread,
55 ::std::vector<::std::string> const& overrideBroadcastAddresses,
56 ::NetworkSystemToggles const& networkToggles,
58 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
59 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
60 ::NetworkSettingOptions const& networkSettingOption,
61 ::PortConfiguration const& portConfig,
62 ::NetherNet::LogSeverity defaultLogSeverity,
63 ::std::optional<::NetherNet::NetworkID> networkId,
65 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
66 ::std::unique_ptr<::IPacketSerializationController> packetController
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 bool host(::ConnectionDefinition const& definition);
79
80#ifdef LL_PLAT_S
81 MCAPI void reloadPacketLimitConfig(::PacketGroupDefinition::PacketGroupBuilder&& packetGroupBuilder);
82#endif
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(
89 ::Scheduler& receiveThread,
90 ::std::vector<::std::string> const& overrideBroadcastAddresses,
91 ::NetworkSystemToggles const& networkToggles,
93 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
94 ::Bedrock::NotNullNonOwnerPtr<::NetworkSessionOwner> networkSessionOwner,
95 ::NetworkSettingOptions const& networkSettingOption,
96 ::PortConfiguration const& portConfig,
97 ::NetherNet::LogSeverity defaultLogSeverity,
98 ::std::optional<::NetherNet::NetworkID> networkId,
100 ::std::optional<::PacketGroupDefinition::PacketGroupBuilder> packetGroupBuilder,
101 ::std::unique_ptr<::IPacketSerializationController> packetController
102 );
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCAPI void $dtor();
109 // NOLINTEND
110};
Definition AppPlatform.h:89
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 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