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 mce { class UUID; }
15// clang-format on
16
17namespace Editor::Network {
18
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual ~PayloadServiceProvider() = default;
24
25 virtual void flushDeferred(uint64 coalesceKey);
26
27 virtual ::Scripting::Result_deprecated<void> dispatchToSelf(::Editor::Network::INetworkPayload& payload) = 0;
28
29 virtual void onReceivePayload(::EditorNetworkPacket const& packet) = 0;
30
31 virtual ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics>>
32 collectMetricsReport() const = 0;
33
34 virtual bool isCollectingMetrics() const = 0;
35
36 virtual void clearMetrics() = 0;
37
38 virtual void setCollectingMetrics(bool collecting) = 0;
39
40 virtual ::Editor::Network::PayloadMetrics* _registerPayload(
41 char const* payloadName,
42 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
43 ) = 0;
44
45 virtual ::Scripting::Result_deprecated<void>
47
48 virtual ::Scripting::Result_deprecated<void> _sendDeferred(
49 ::std::shared_ptr<::Editor::Network::INetworkPayload> payload,
50 uint64 coalesceKey,
52 );
53
54 virtual ::Scripting::Result_deprecated<void>
55 _sendToManager(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
56
57 virtual ::Scripting::Result_deprecated<void> _sendToClientId(
58 ::mce::UUID const& clientId,
61 ) = 0;
62
63 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
64 ::std::vector<::mce::UUID> const& clientIds,
67 ) = 0;
68
69 virtual ::Scripting::Result_deprecated<void>
70 _broadcastToClients(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
71
72 virtual ::Scripting::Result_deprecated<void> _broadcastToClientManagers(
75 ) = 0;
76
77 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
78 char const* payloadName,
79 ::std::function<void(::Editor::Network::INetworkPayload const&)> fnSubscriber
80 ) = 0;
81 // NOLINTEND
82};
83
84} // namespace Editor::Network
Definition Subscription.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:19
Definition UUID.h:8
Definition PayloadMetrics.h:7