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>
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>
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>
As mentioned in #32, there is a need to remove gogoproto usage from NeoFS API
since this plugin is not cross-language. This commit removes usage from
object.Object message and all related types.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
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>
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.