diff --git a/proto/decentraland/kernel/apis/engine_api.proto b/proto/decentraland/kernel/apis/engine_api.proto index 5123ccac..d8c88165 100644 --- a/proto/decentraland/kernel/apis/engine_api.proto +++ b/proto/decentraland/kernel/apis/engine_api.proto @@ -73,6 +73,15 @@ message CrdtSendToResponse { repeated bytes data = 1; } +message CrdtSendToNetworkRequest { + bytes data = 1; + string client_id = 2; +} +message CrdtSendToNetworkResponse { + // list of CRDT messages coming back from the renderer + repeated bytes data = 1; +} + message CrdtGetStateRequest {} message CrdtGetStateResponse { // returns true if the returned state has scene-created entities @@ -87,6 +96,11 @@ message CrdtMessageFromRendererRequest {} message CrdtMessageFromRendererResponse { repeated bytes data = 1; } +message IsServerRequest {} +message IsServerResponse { + bool is_server = 1; + repeated string clients = 2; +} service EngineApiService { // support for legacy SDK events. @@ -102,6 +116,10 @@ service EngineApiService { // like raycast responses or the player's position rpc CrdtSendToRenderer(CrdtSendToRendererRequest) returns (CrdtSendToResponse) {} + // TBD: wip + rpc CrdtSendNetwork(CrdtSendToNetworkRequest) returns (CrdtSendToNetworkResponse) {} + rpc IsServer(IsServerRequest) returns (IsServerResponse) {} + // retrieves the current _full_ state of the entities from the renderer. This function is used to hidrate // the state of the scenes when the code of the worker is stopped/resumed rpc CrdtGetState(CrdtSendToRendererRequest) returns (CrdtGetStateResponse) {}