Commit graph

26 commits

Author SHA1 Message Date
Leonard Lyubich
fb2064803e [#26] object: Replace PayloadChecksum to Integrity
This commit replaces PayloadChecksum field from ExtendedHeader to
IntegrityHeader for assembling all verification data in one structure.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
b77811716e [#26] object: Replace creator key to Integrity
This commit moves the public key of the creator of the object to
IntegrityHeader to encapsulate the verification data in one message. Thus
field PublicKey of message Header has been moved to message IntegrityHeader
with the name CreatorKey. As a result, PublicKey message is deleted as no
longer used.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
0a5f3d5a01 [#26] object: Remove unused Redirect field
Redirect field was introduced for the future, however, at the moment it is
not used anywhere. This commit removes field Redirect from ExtendedHeader
message. It can be added back later without losing API backward
compatibility.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
4df4badf9c [#26] object: Remove Link message
After updating the structure of SplitHeader and StorageGroup messages, the
Link header field is no longer needed. This commit removes the field and
message Link as no longer used.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
7ce0945e6c [#26] object: Remove unused Version field
Field with object revision number was introduced for the future, however, at
the moment it is not used anywhere. This commit removes field Version from
SystemHeader message. It can be added back later without losing API
backward compatibility.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
9666fd4bc7 [#26] object: Remake ExtendedHeader to field set
In previous version of the format ExtendedHeader consisted of one field
Value, defined by oneof mechanism. Such a definition format give complete
freedom when composing an object header, however, it did not allow strictly
structuring the header format at the level of type syntax. Since the object
has a well-defined structure in the system, this commit replaces the
definition through oneof with a set of fields. As a consequence, storing a
set of extended headers of the new type in the general header became
redundant, so the repeated keyword was removed.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
cbd4cf63f9 [#26] object: Replace Transform header with Split
This commit replaces Transform message with SplitHeader in oneof definition
of Value field of Header message. The latter, unlike the first, carries
complete information about the generation of the object by splitting the
payload. As a result, the message is deleted as no longer used.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
485510ab66 [#26] object: Define object split info message
This commit defines SplitHeader message that encapsulates data about
spawning the object through a payload splitting. Message fields contain
information about the hierarchy in the split-chain as well as information
about the origin object.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
b46011db45 [#26] object: Combine ID and CID in Address
This commit merges object system header fields ID and CID into field Address
of type refs.Address. This will allow you to reuse an already existing type
of object reference without duplication and simplify taking the address
from the object body

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
6e5565f238 [#26] object: Replace CreationPoint with Epoch
In previous version of the format Object message included moment of creation
in two epoch times: NeoFS and Unix. Since unix  is not processed in the
system, this commit narrows the time point of object creation to the system
epoch number. The object.CreationPoint message has therefore been deleted
as no longer used

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
5beca3b0d1 [#26] object: Define message for object header
In previous version of the format Object message included two header fields:
SystemHeader and list of ExtendedHeader. Due to the fact that all headers
were not encapsulated in a single message, some messages were forced to use
Object to convey the full header of the object (e.g. object.HeadResponse).
To resolve this semantic inconsistency, this commit defines a Header
message, consisting of a system and an extended portion. As a result, the
Object now consists of two fields - Header and Payload.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
2c3717bdee [#26] object: Rename Header to ExtendedHeader
The naming Header obscures its semantic meaning precisely as a subclass of
the general object header. To clarify the layers of typing object headers,
this commit renames the message to ExtendedHeader. As a result, the Headers
field in the Object has been renamed to ExtendedHeaders.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
a76f634e47 [#26] object: Rename UserHeader to Attribute
The name of object.UserHeader message implies its use by the user. However,
the attributes of an object can also be set internally by the system. To
generalize the intended purpose of the message, this commit renames it to an
Attribute (like container.Attribute).

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 21:59:42 +03:00
Leonard Lyubich
7ea4d475a0 [#26] object: Replace object.Range message definition
This commit replaces Range message definition closer to where it is used. In
the future, only the types associated with the structure of the object will
be defined in types.proto file.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-05 10:29:25 +03:00
Leonard Lyubich
738d521214 object: remove Token field from PutRequest.PutHeader and DeleteRequest
Session token is presented in RequestVerificationHeader, therefore its
presence in request bodies is redundant.
2020-04-27 13:17:16 +03:00
Leonard Lyubich
360d3ae2ce docs: regenerate 2020-04-27 13:14:31 +03:00
Leonard Lyubich
da3cb02936 object: remove redundant Raw field from GetRequest and HeadRequest 2020-04-27 11:00:03 +03:00
Leonard Lyubich
6b68940643 token: update structure
This commit:

  * moves Token message to service package;

  * updates token structure (new verb field, some renaming);

  * replaces VerificationHeader header with Token in object package;

  * removes no longer used VerificationHeader message.
2020-04-27 10:59:44 +03:00
Evgeniy Kulikov
c9edac72b4
docs: regenerate files 2020-04-20 13:29:30 +03:00
Leonard Lyubich
846a84cd0c regenerate docs 2020-04-15 18:27:46 +03:00
Evgeniy Kulikov
54060e29be
update proto docs 2020-03-31 10:17:52 +03:00
Leonard Lyubich
9b2cb915ac update GetRangeRequest docs 2020-02-05 14:23:14 +03:00
Leonard Lyubich
8959621826 change GetRangeResponse type from 'repeated bytes' to 'bytes' 2020-02-05 14:21:15 +03:00
Leonard Lyubich
6bd0d99ddd make object.GetRange to be server-side streaming RPC 2020-02-05 13:38:53 +03:00
Leonard Lyubich
63b956e50c make object.Search to be server-side streaming RPC 2020-02-03 12:08:18 +03:00
Evgeniy Kulikov
fe877a169f
initialize 2020-01-30 14:43:09 +03:00