[#117] Describe well-known X-Headers
When object can't be found using current network map, there is a chance to find it using netmap versions from previous epochs. By default only current netmap is used. Well-known X-Headers can be used to set the specific netmap version and limit how deep into the past the node can go in the search of an object. Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
This commit is contained in:
parent
7f8a4f25ba
commit
fac353b9a4
2 changed files with 20 additions and 2 deletions
|
@ -21,7 +21,7 @@ service SessionService {
|
||||||
message CreateRequest {
|
message CreateRequest {
|
||||||
// Session creation request body
|
// Session creation request body
|
||||||
message Body {
|
message Body {
|
||||||
// Dession initiating user's or node's key derived `OwnerID`.
|
// Session initiating user's or node's key derived `OwnerID`
|
||||||
neo.fs.v2.refs.OwnerID owner_id = 1;
|
neo.fs.v2.refs.OwnerID owner_id = 1;
|
||||||
// Session expiration `Epoch`
|
// Session expiration `Epoch`
|
||||||
uint64 expiration = 2;
|
uint64 expiration = 2;
|
||||||
|
|
|
@ -85,7 +85,25 @@ message SessionToken {
|
||||||
neo.fs.v2.refs.Signature signature = 2 [json_name = "signature"];
|
neo.fs.v2.refs.Signature signature = 2 [json_name = "signature"];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extended headers for Request/Response.
|
// Extended headers for Request/Response. May contain any user-defined headers
|
||||||
|
// to be interpreted on application level.
|
||||||
|
//
|
||||||
|
// Key name must be unique valid UTF-8 string. Value can't be empty. Requests or
|
||||||
|
// Responses with duplicated header names or headers with empty values will be
|
||||||
|
// considered invalid.
|
||||||
|
//
|
||||||
|
// There are some "well-known" headers starting with `__NEOFS__` prefix that
|
||||||
|
// affect system behaviour:
|
||||||
|
//
|
||||||
|
// * __NEOFS__NETMAP_EPOCH \
|
||||||
|
// Netmap epoch to use for object placement calculation. The `value` is string
|
||||||
|
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
||||||
|
// current epoch only will be used.
|
||||||
|
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
|
||||||
|
// If object can't be found using current epoch's netmap, this header limits
|
||||||
|
// how many past epochs back the node can lookup. The `value` is string
|
||||||
|
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
|
||||||
|
// current epoch only will be used.
|
||||||
message XHeader {
|
message XHeader {
|
||||||
// Key of the X-Header
|
// Key of the X-Header
|
||||||
string key = 1 [json_name = "key"];
|
string key = 1 [json_name = "key"];
|
||||||
|
|
Loading…
Reference in a new issue