Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PayloadServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
7
8// auto generated forward declare list
9// clang-format off
11namespace Bedrock::PubSub { class Subscription; }
12namespace Editor::Network { class INetworkPayload; }
13namespace Editor::Network { struct PayloadMetrics; }
14namespace Editor::Network { struct PayloadSenderContext; }
15namespace mce { class UUID; }
16// clang-format on
17
18namespace Editor::Network {
19
21public:
22 // virtual functions
23 // NOLINTBEGIN
24 virtual ~PayloadServiceProvider() = default;
25
26 virtual void flushDeferred(uint64 coalesceKey);
27
28 virtual ::Scripting::Result_deprecated<void> dispatchToSelf(::Editor::Network::INetworkPayload& payload) = 0;
29
30 virtual void onReceivePayload(::EditorNetworkPacket const& packet) = 0;
31
32 virtual void
33 onReceivePayload(::EditorNetworkPacket const& packet, ::Editor::Network::PayloadSenderContext const& sender);
34
35 virtual ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics>>
36 collectMetricsReport() const = 0;
37
38 virtual bool isCollectingMetrics() const = 0;
39
40 virtual void clearMetrics() = 0;
41
42 virtual void setCollectingMetrics(bool collecting) = 0;
43
44 virtual ::Editor::Network::PayloadMetrics* _registerPayload(
45 char const* payloadName,
46 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
47 ) = 0;
48
49 virtual ::Scripting::Result_deprecated<void>
51
52 virtual ::Scripting::Result_deprecated<void> _sendDeferred(
53 ::std::shared_ptr<::Editor::Network::INetworkPayload> payload,
54 uint64 coalesceKey,
56 );
57
58 virtual ::Scripting::Result_deprecated<void>
59 _sendToManager(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
60
61 virtual ::Scripting::Result_deprecated<void> _sendToClientId(
62 ::mce::UUID const& clientId,
65 ) = 0;
66
67 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
68 ::std::vector<::mce::UUID> const& clientIds,
71 ) = 0;
72
73 virtual ::Scripting::Result_deprecated<void>
74 _broadcastToClients(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
75
76 virtual ::Scripting::Result_deprecated<void> _broadcastToClientManagers(
79 ) = 0;
80
81 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
82 char const* payloadName,
83 ::std::function<void(::Editor::Network::INetworkPayload const&)> fnSubscriber
84 ) = 0;
85
86 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenForWithSender(
87 char const* payloadName,
89 fnSubscriber
90 );
91 // NOLINTEND
92};
93
94} // namespace Editor::Network
Definition Subscription.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:20
Definition UUID.h:8
Definition PayloadMetrics.h:7
Definition PayloadSenderContext.h:7