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>
This commit makes ObjectID field of refs.Address message to use dedicated
message for object identifier ObjectID.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit defines ObjectID message in refs package. In the future, this
structure can be ported into messages in place of the object identifier
field to maintain format uniformity. Also, storing the identifier in a
dedicated message will allow, if necessary, to expand it with additional
information without losing backward compatibility within one version of the
API.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
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>
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>
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>
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.