syntax = "proto3"; package storagegroup; option go_package = "github.com/nspcc-dev/neofs-api-go/storagegroup"; option csharp_namespace = "NeoFS.API.StorageGroup"; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; import "refs/types.proto"; option (gogoproto.stable_marshaler_all) = true; message StorageGroup { option (gogoproto.goproto_stringer) = false; // ValidationDataSize is size of the all object's payloads included into storage group uint64 ValidationDataSize = 1; // ValidationHash is homomorphic hash of all object's payloads included into storage group bytes ValidationHash = 2 [(gogoproto.customtype) = "Hash", (gogoproto.nullable) = false]; message Lifetime { enum Unit { // Unlimited set if storage group always valid Unlimited = 0; // NeoFSEpoch set if storage group is valid until lifetime NeoFS epoch NeoFSEpoch = 1; // UnixTime set if storage group is valid until lifetime unix timestamp UnixTime = 2; } // Unit is lifetime type Unit unit = 1 [(gogoproto.customname) = "Unit"]; // Value for lifetime int64 Value = 2; } // Lifetime is time until storage group is valid Lifetime lifetime = 3 [(gogoproto.customname) = "Lifetime"]; // Members carries the list of identifiers of the object storage group members. // The list is strictly ordered. repeated refs.ObjectID Members = 4; }