forked from TrueCloudLab/frostfs-api
5.2 KiB
5.2 KiB
Protocol Documentation
Table of Contents
-
- Messages
service/meta.proto
Message RequestMetaHeader
RequestMetaHeader contains information about request meta headers (should be embedded into message)
Field | Type | Label | Description |
---|---|---|---|
TTL | uint32 | TTL must be larger than zero, it decreased in every NeoFS Node | |
Epoch | uint64 | Epoch for user can be empty, because node sets epoch to the actual value | |
Version | uint32 | Version defines protocol version TODO: not used for now, should be implemented in future |
Message ResponseMetaHeader
ResponseMetaHeader contains meta information based on request processing by server (should be embedded into message)
Field | Type | Label | Description |
---|---|---|---|
Epoch | uint64 | Current NeoFS epoch on server | |
Version | uint32 | Version defines protocol version TODO: not used for now, should be implemented in future |
service/verify.proto
Message RequestVerificationHeader
RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message).
Field | Type | Label | Description |
---|---|---|---|
Signatures | RequestVerificationHeader.Signature | repeated | Signatures is a set of signatures of every passed NeoFS Node |
Message RequestVerificationHeader.Sign
Field | Type | Label | Description |
---|---|---|---|
Sign | bytes | Sign is signature of the request or session key. | |
Peer | bytes | Peer is compressed public key used for signature. |
Message RequestVerificationHeader.Signature
Field | Type | Label | Description |
---|---|---|---|
Sign | RequestVerificationHeader.Sign | Sign is a signature and public key of the request. | |
Origin | RequestVerificationHeader.Sign | Origin used for requests, when trusted node changes it and re-sign with session key. If session key used for signature request, then Origin should contain public key of user and signed session key. |
Scalar Value Types
.proto Type | Notes | C++ Type | Java Type | Python Type |
---|---|---|---|---|
double | double | double | float | |
float | float | float | float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
uint32 | Uses variable-length encoding. | uint32 | int | int/long |
uint64 | Uses variable-length encoding. | uint64 | long | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
sfixed32 | Always four bytes. | int32 | int | int |
sfixed64 | Always eight bytes. | int64 | long | int/long |
bool | bool | boolean | boolean | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |