Clarification for eXtended Headers in MetaHeader

Minor clarification to show how XHeaders should be used.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
This commit is contained in:
Stanislav Bogatyrev 2022-03-05 13:57:52 +03:00 committed by Stanislav Bogatyrev
parent f233a2fd67
commit cd5fdbbd55

View file

@ -19,6 +19,16 @@ service ObjectService {
// be restored by concatenation of object message payload and all chunks // be restored by concatenation of object message payload and all chunks
// keeping the receiving order. // keeping the receiving order.
// //
// Extended headers can change `Get` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of network map to find an object until the depth
// limit reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// object has been successfully read; // object has been successfully read;
@ -42,6 +52,13 @@ service ObjectService {
// object payload. All messages, except first one, SHOULD be payload chunks. // object payload. All messages, except first one, SHOULD be payload chunks.
// Chunk messages SHOULD be sent in the direct order of fragmentation. // Chunk messages SHOULD be sent in the direct order of fragmentation.
// //
// Extended headers can change `Put` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// object has been successfully saved in the container; // object has been successfully saved in the container;
@ -66,6 +83,13 @@ service ObjectService {
// Delete the object from a container. There is no immediate removal // Delete the object from a container. There is no immediate removal
// guarantee. Object will be marked for removal and deleted eventually. // guarantee. Object will be marked for removal and deleted eventually.
// //
// Extended headers can change `Delete` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// object has been successfully marked to be removed from the container; // object has been successfully marked to be removed from the container;
@ -84,6 +108,13 @@ service ObjectService {
// returned. If `main_only` request field is set, the short header with only // returned. If `main_only` request field is set, the short header with only
// the very minimal information will be returned instead. // the very minimal information will be returned instead.
// //
// Extended headers can change `Head` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// object header has been successfully read; // object header has been successfully read;
@ -104,6 +135,13 @@ service ObjectService {
// Header's filed values. Please see the corresponding NeoFS Technical // Header's filed values. Please see the corresponding NeoFS Technical
// Specification section for more details. // Specification section for more details.
// //
// Extended headers can change `Search` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// objects have been successfully selected; // objects have been successfully selected;
@ -121,6 +159,16 @@ service ObjectService {
// restored by concatenation of all received payload chunks keeping the receiving // restored by concatenation of all received payload chunks keeping the receiving
// order. // order.
// //
// Extended headers can change `GetRange` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of network map to find an object until the depth
// limit reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// data range of the object payload has been successfully read; // data range of the object payload has been successfully read;
@ -142,6 +190,16 @@ service ObjectService {
// length) tuples. Hashes order in response corresponds to the ranges order in // length) tuples. Hashes order in response corresponds to the ranges order in
// the request. Note that hash is calculated for XORed data. // the request. Note that hash is calculated for XORed data.
// //
// Extended headers can change `GetRangeHash` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of network map to find an object until the depth
// limit reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses: // Statuses:
// - **OK** (0, SECTION_SUCCESS): \ // - **OK** (0, SECTION_SUCCESS): \
// data range of the object payload has been successfully hashed; // data range of the object payload has been successfully hashed;