frostfs-api/storagegroup/types.proto
Leonard Lyubich 300b1d4197 [#26] storagegroup: Add member list to message
To encapsulate the complete information about the storage group in
StorageGroup message, this commit adds the missing group member list field.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00

41 lines
1.4 KiB
Protocol Buffer

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;
}