From a935b314226a0891e1d2ec304efe7b4b49a5e7e7 Mon Sep 17 00:00:00 2001 From: Leonard Liubich Date: Tue, 1 Sep 2026 18:26:58 +0300 Subject: [PATCH 1/2] WIP Signed-off-by: Leonard Liubich --- object/service.proto | 3 +++ 1 file changed, 3 insertions(+) diff --git a/object/service.proto b/object/service.proto index 7c52c64..3974c66 100644 --- a/object/service.proto +++ b/object/service.proto @@ -264,6 +264,9 @@ service ObjectService { // - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \ // the container to which the replicated object is associated was not found. rpc Replicate(ReplicateRequest) returns (ReplicateResponse); + + // TODO: docs. + rpc ReplicateV2(stream ReplicateRequest) returns (ReplicateResponse); } // GET object request. From 74bea57cc6b9fcede948b69c30672c1638f3499a Mon Sep 17 00:00:00 2001 From: Leonard Liubich Date: Thu, 3 Sep 2026 17:34:37 +0300 Subject: [PATCH 2/2] PUT-like Signed-off-by: Leonard Liubich --- object/service.proto | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/object/service.proto b/object/service.proto index 3974c66..e1c48a7 100644 --- a/object/service.proto +++ b/object/service.proto @@ -266,7 +266,7 @@ service ObjectService { rpc Replicate(ReplicateRequest) returns (ReplicateResponse); // TODO: docs. - rpc ReplicateV2(stream ReplicateRequest) returns (ReplicateResponse); + rpc ReplicateV2(stream ReplicateV2Request) returns (ReplicateResponse); } // GET object request. @@ -875,3 +875,21 @@ message ReplicateResponse { // `sign_object` flag set. bytes object_signature = 2; } + +// TODO: docs. +message ReplicateV2Request { + // TODO: or just ReplicateRequest? + message Init { + neo.fs.v2.refs.ObjectID object_id = 1; + neo.fs.v2.refs.Signature signature = 2; + Header header = 3; + bytes payload_chunk = 4; // TODO: needed? + neo.fs.v2.refs.Signature node_id_signature = 5; + bool sign_object = 6; + } + + oneof stream_part { + Init init = 1; + bytes payload_chunk = 2; + } +} \ No newline at end of file