forked from TrueCloudLab/frostfs-api
[#51] Define Tombstone type and return it's address on object delete
- Define payload structure for Tombstone object type. - Return address of the created TS on object delete. Useful for testing Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
This commit is contained in:
parent
b930782fd3
commit
289a6366fa
2 changed files with 28 additions and 1 deletions
|
@ -203,7 +203,10 @@ message DeleteRequest {
|
||||||
// removal in distributed system.
|
// removal in distributed system.
|
||||||
message DeleteResponse {
|
message DeleteResponse {
|
||||||
// Object DELETE Response has an empty body.
|
// Object DELETE Response has an empty body.
|
||||||
message Body { }
|
message Body {
|
||||||
|
// Address of the tombstone created for the deleted object
|
||||||
|
neo.fs.v2.refs.Address tombstone = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Body of delete object response message.
|
// Body of delete object response message.
|
||||||
Body body = 1;
|
Body body = 1;
|
||||||
|
|
24
tombstone/types.proto
Normal file
24
tombstone/types.proto
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package neo.fs.v2.tombstone;
|
||||||
|
|
||||||
|
option go_package = "github.com/nspcc-dev/neofs-api-go/v2/tombstone/grpc;tombstone";
|
||||||
|
option csharp_namespace = "NeoFS.API.v2.Tombstone";
|
||||||
|
|
||||||
|
import "refs/types.proto";
|
||||||
|
|
||||||
|
// Tombstone keeps record of deleted objects for few epochs until they are
|
||||||
|
// purged from the NeoFS network.
|
||||||
|
message Tombstone {
|
||||||
|
// Last NeoFS epoch number of the tombstone lifetime. It's set by tombstone
|
||||||
|
// creator depending on current NeoFS network settings.
|
||||||
|
uint64 expiration_epoch = 1 [json_name = "expirationEpoch"];
|
||||||
|
|
||||||
|
// 16 byte UUID used to identify the split object hierarchy parts. Must be
|
||||||
|
// unique inside container. All objects participating in the split must
|
||||||
|
// have the same `split_id` value.
|
||||||
|
bytes split_id = 2 [json_name = "splitID"];
|
||||||
|
|
||||||
|
// List of objects to be deleted.
|
||||||
|
repeated neo.fs.v2.refs.ObjectID members = 3 [json_name = "members"];
|
||||||
|
}
|
Loading…
Reference in a new issue