[#122] container: Add AnnounceUsedSpace method

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2021-01-20 19:50:29 +03:00 committed by Stanislav Bogatyrev
parent 113c7d97d1
commit 3a129a2557

View file

@ -41,6 +41,9 @@ service ContainerService {
// Returns Extended ACL table and signature from `Container` smart contract // Returns Extended ACL table and signature from `Container` smart contract
// storage. // storage.
rpc GetExtendedACL(GetExtendedACLRequest) returns (GetExtendedACLResponse); rpc GetExtendedACL(GetExtendedACLRequest) returns (GetExtendedACLResponse);
// Announce container used space values for P2P synchronization.
rpc AnnounceUsedSpace(AnnounceUsedSpaceRequest) returns (AnnounceUsedSpaceResponse);
} }
// New NeoFS Container creation request // New NeoFS Container creation request
@ -308,3 +311,54 @@ message GetExtendedACLResponse {
// transmission. // transmission.
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3; neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
} }
// Announce container used space
message AnnounceUsedSpaceRequest {
// Container used space announcement body.
message Body {
// Announcement contains used space information about single container.
message Announcement {
// Identifier of the container
neo.fs.v2.refs.ContainerID container_id = 1;
// used_space is a sum of object payused space sizes of specified
// container, stored in the node. It must not include inhumed objects.
uint64 used_space = 2;
}
// List of announcements. If nodes share several containers, then
// announcements transferred in a batch.
repeated Announcement announcements = 1;
}
// Body of announce used space request message.
Body body = 1;
// Carries request meta information. Header data is used only to regulate
// message transport and does not affect request execution.
neo.fs.v2.session.RequestMetaHeader meta_header = 2;
// Carries request verification information. This header is used to
// authenticate the nodes of the message route and check the correctness of
// transmission.
neo.fs.v2.session.RequestVerificationHeader verify_header = 3;
}
// Announce container used space
message AnnounceUsedSpaceResponse {
// `AnnounceUsedSpaceResponse` has an empty body because announcements are
// one way communication.
message Body { }
// Body of announce used space response message.
Body body = 1;
// Carries response meta information. Header data is used only to regulate
// message transport and does not affect request execution.
neo.fs.v2.session.ResponseMetaHeader meta_header = 2;
// Carries response verification information. This header is used to
// authenticate the nodes of the message route and check the correctness of
// transmission.
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
}