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"
24namespace mce {
class UUID; }
27namespace Editor::Network {
41 enum class SendTarget :
int {
46 BroadcastToClientPlayers = 4,
47 BroadcastToClientManagers = 5,
62 CachedPacket& operator=(CachedPacket
const&);
63 CachedPacket(CachedPacket
const&);
82 DeferredSend& operator=(DeferredSend
const&);
83 DeferredSend(DeferredSend
const&);
87 struct PayloadFactory {
96 PayloadFactory& operator=(PayloadFactory
const&);
97 PayloadFactory(PayloadFactory
const&);
101 struct PayloadPublisher {
111 PayloadPublisher& operator=(PayloadPublisher
const&);
112 PayloadPublisher(PayloadPublisher
const&);
128 PayloadInfo& operator=(PayloadInfo
const&);
129 PayloadInfo(PayloadInfo
const&);
151 PayloadService& operator=(PayloadService
const&);
152 PayloadService(PayloadService
const&);
158 virtual ~PayloadService() =
default;
160 virtual ::Scripting::Result_deprecated<void> init() ;
162 virtual ::Scripting::Result_deprecated<void> quit() ;
164 virtual ::std::string_view getServiceName() const ;
166 virtual ::Scripting::Result_deprecated<
void>
171 virtual
void onReceivePayload(
176 virtual
void flushDeferred(uint64 coalesceKey) ;
178 virtual
bool isCollectingMetrics() const ;
180 virtual
void clearMetrics() ;
182 virtual
void setCollectingMetrics(
bool collecting) ;
184 virtual ::
std::vector<::
std::pair<::
std::
string, ::Editor::Network::
PayloadMetrics>> collectMetricsReport() const
188 char const* payloadName,
192 virtual ::Scripting::Result_deprecated<
void>
195 virtual ::Scripting::Result_deprecated<
void> _sendDeferred(
201 virtual ::Scripting::Result_deprecated<
void> _sendToManager(
206 virtual ::Scripting::Result_deprecated<
void> _sendToClientId(
207 ::mce::UUID const& clientId,
212 virtual ::Scripting::Result_deprecated<
void> _sendToClientIds(
213 ::
std::vector<::mce::UUID> const& clientIds,
218 virtual ::Scripting::Result_deprecated<
void> _broadcastToClients(
223 virtual ::Scripting::Result_deprecated<
void> _broadcastToClientManagers(
228 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
229 char const* payloadName,
233 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenForWithSender(
234 char const* payloadName,
243 MCNAPI PayloadService(
252 ::
std::vector<::
Actor*> const& actors,
266 ::Editor::Network::PayloadService::SendTarget const target,
276 ::Editor::Network::PayloadService::SendTarget target,
288 ::Editor::Network::PayloadService::SendTarget target,
295 ::Editor::Network::PayloadService::SendTarget toWhom,
315 MCNAPI ::Scripting::Result_deprecated<
void>
$init();
317 MCNAPI ::Scripting::Result_deprecated<
void>
$quit();
339 char const* payloadName,
343 MCNAPI ::Scripting::Result_deprecated<
void>
352 MCNAPI ::Scripting::Result_deprecated<
void>
356 ::mce::UUID const& clientId,
362 ::
std::vector<::mce::UUID> const& clientIds,
367 MCNAPI ::Scripting::Result_deprecated<
void>
375 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
379 char const* payloadName,
Definition Subscription.h:10
Definition DebuggerStat.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:20
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<::Bedrock::PubSub::Subscription > $_listenForWithSender(char const *payloadName, ::std::function< void(::Editor::Network::INetworkPayload const &, ::Editor::Network::PayloadSenderContext const &)> fnSubscriber)
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 ::std::shared_ptr<::Editor::Network::INetworkPayload > _loadReceivedPayload(::EditorNetworkPacket const &packet)
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 void * $ctor(::Editor::ServiceProviderCollection &providers, ::WeakEntityRef optionalPlayerRef, ::PacketSender &packetSender, bool isClientSide, bool collectMetrics)
MCAPI void _collectScriptStats(::DebuggerStat &editorNetworkStats)
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 PayloadSenderContext.h:7
Definition PayloadService.h:50
Definition PayloadService.h:67
Definition PayloadService.h:87
Definition PayloadService.h:116
Definition PayloadService.h:101