3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8#include "mc/editor/selection/PayloadServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
23namespace mce {
class UUID; }
26namespace Editor::Network {
40 enum class SendTarget :
int {
45 BroadcastToClientPlayers = 4,
46 BroadcastToClientManagers = 5,
61 CachedPacket& operator=(CachedPacket
const&);
62 CachedPacket(CachedPacket
const&);
81 DeferredSend& operator=(DeferredSend
const&);
82 DeferredSend(DeferredSend
const&);
86 struct PayloadFactory {
95 PayloadFactory& operator=(PayloadFactory
const&);
96 PayloadFactory(PayloadFactory
const&);
100 struct PayloadPublisher {
109 PayloadPublisher& operator=(PayloadPublisher
const&);
110 PayloadPublisher(PayloadPublisher
const&);
126 PayloadInfo& operator=(PayloadInfo
const&);
127 PayloadInfo(PayloadInfo
const&);
149 PayloadService& operator=(PayloadService
const&);
150 PayloadService(PayloadService
const&);
156 virtual ~PayloadService() =
default;
158 virtual ::Scripting::Result_deprecated<void> init() ;
160 virtual ::Scripting::Result_deprecated<void> quit() ;
162 virtual ::std::string_view getServiceName() const ;
164 virtual ::Scripting::Result_deprecated<
void>
169 virtual
void flushDeferred(uint64 coalesceKey) ;
171 virtual
bool isCollectingMetrics() const ;
173 virtual
void clearMetrics() ;
175 virtual
void setCollectingMetrics(
bool collecting) ;
177 virtual ::
std::vector<::
std::pair<::
std::
string, ::Editor::Network::
PayloadMetrics>> collectMetricsReport() const
181 char const* payloadName,
185 virtual ::Scripting::Result_deprecated<
void>
188 virtual ::Scripting::Result_deprecated<
void> _sendDeferred(
194 virtual ::Scripting::Result_deprecated<
void> _sendToManager(
199 virtual ::Scripting::Result_deprecated<
void> _sendToClientId(
200 ::mce::UUID const& clientId,
205 virtual ::Scripting::Result_deprecated<
void> _sendToClientIds(
206 ::
std::vector<::mce::UUID> const& clientIds,
211 virtual ::Scripting::Result_deprecated<
void> _broadcastToClients(
216 virtual ::Scripting::Result_deprecated<
void> _broadcastToClientManagers(
221 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
222 char const* payloadName,
230 MCNAPI PayloadService(
239 ::
std::vector<::
Actor*> const& actors,
250 ::Editor::Network::PayloadService::SendTarget const target,
260 ::Editor::Network::PayloadService::SendTarget target,
272 ::Editor::Network::PayloadService::SendTarget target,
279 ::Editor::Network::PayloadService::SendTarget toWhom,
299 MCNAPI ::Scripting::Result_deprecated<
void>
$init();
301 MCNAPI ::Scripting::Result_deprecated<
void>
$quit();
320 char const* payloadName,
324 MCNAPI ::Scripting::Result_deprecated<
void>
333 MCNAPI ::Scripting::Result_deprecated<
void>
337 ::mce::UUID const& clientId,
343 ::
std::vector<::mce::UUID> const& clientIds,
348 MCNAPI ::Scripting::Result_deprecated<
void>
356 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
Definition Subscription.h:10
Definition DebuggerStat.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:19
MCAPI ::Scripting::Result_deprecated< void > _sendToClientTargets(::std::vector<::Actor * > actorList, ::EditorNetworkPacket &outPacket, ::Editor::Network::PayloadMetrics *metrics)
MCAPI void $flushDeferred(uint64 coalesceKey)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClients(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::std::vector<::Actor * > _getEditorClientActors() const
MCAPI ::Scripting::Result_deprecated< void > _sendToServer(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > _sendToClient(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated<::EditorNetworkPacket > _populatePacket(::Editor::Network::INetworkPayload *payload, ::Editor::Network::PayloadService::SendTarget const target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $_send(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics > > $collectMetricsReport() const
MCAPI bool $isCollectingMetrics() const
MCAPI ::Scripting::Result_deprecated< void > $_sendDeferred(::std::shared_ptr<::Editor::Network::INetworkPayload > payload, uint64 coalesceKey, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > _sendToTarget(::Actor *actor, ::EditorNetworkPacket &outPacket, ::Editor::Network::PayloadService::SendTarget toWhom, ::Editor::Network::PayloadMetrics *metrics)
MCAPI void _buildRecipientListAndSend(::std::vector<::Actor * > const &actors, ::EditorNetworkPacket &packet, ::Editor::Network::PayloadMetrics *metrics)
MCAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket &packet)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $_listenFor(char const *payloadName, ::std::function< void(::Editor::Network::INetworkPayload const &)> fnSubscriber)
MCAPI ::Scripting::Result_deprecated< void > $_sendToManager(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientId(::mce::UUID const &clientId, ::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI void $setCollectingMetrics(bool collecting)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $clearMetrics()
MCAPI::Editor::Network::PayloadMetrics * $_registerPayload(char const *payloadName, ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload >()> constructorFunc)
MCAPI ::Scripting::Result_deprecated< void > $dispatchToSelf(::Editor::Network::INetworkPayload &payload)
MCAPI void $onReceivePayload(::EditorNetworkPacket const &packet)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClientManagers(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::std::optional<::DebuggerStat > _collectScriptStats(uint64, uint64, uint64)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers, ::WeakEntityRef optionalPlayerRef, ::PacketSender &packetSender, bool isClientSide, bool collectMetrics)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientIds(::std::vector<::mce::UUID > const &clientIds, ::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PacketSender.h:17
Definition ServerPlayer.h:73
Definition WeakEntityRef.h:14
Definition SingleThreaded.h:7
Definition PayloadMetrics.h:7
Definition PayloadService.h:49
Definition PayloadService.h:66
Definition PayloadService.h:86
Definition PayloadService.h:114
Definition PayloadService.h:100