forked from TrueCloudLab/frostfs-api-go
[#416] session: Support new format of object session context
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
504e427c18
commit
5fc2644c68
8 changed files with 398 additions and 247 deletions
4
netmap/grpc/types.pb.go
generated
4
netmap/grpc/types.pb.go
generated
|
@ -865,6 +865,10 @@ func (x *NetworkInfo) GetNetworkConfig() *NetworkConfig {
|
||||||
// Node's continent name according to the [Seven-Continent model]
|
// Node's continent name according to the [Seven-Continent model]
|
||||||
// (https://en.wikipedia.org/wiki/Continent#Number). Calculated
|
// (https://en.wikipedia.org/wiki/Continent#Number). Calculated
|
||||||
// automatically from `UN-LOCODE` attribute.
|
// automatically from `UN-LOCODE` attribute.
|
||||||
|
// - ExternalAddr
|
||||||
|
// Node's preferred way for communications with external clients.
|
||||||
|
// Clients SHOULD use these addresses if possible.
|
||||||
|
// Must contain a comma-separated list of multi-addresses.
|
||||||
//
|
//
|
||||||
// For detailed description of each well-known attribute please see the
|
// For detailed description of each well-known attribute please see the
|
||||||
// corresponding section in NeoFS Technical Specification.
|
// corresponding section in NeoFS Technical Specification.
|
||||||
|
|
96
object/grpc/service_grpc.pb.go
generated
96
object/grpc/service_grpc.pb.go
generated
|
@ -44,16 +44,16 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully read;
|
// object has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// read access to the object is denied;
|
// read access to the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (ObjectService_GetClient, error)
|
Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (ObjectService_GetClient, error)
|
||||||
// Put the object into container. Request uses gRPC stream. First message
|
// Put the object into container. Request uses gRPC stream. First message
|
||||||
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
||||||
|
@ -73,6 +73,8 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully saved in the container;
|
// object has been successfully saved in the container;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
|
// write access to the container is denied;
|
||||||
// - **LOCKED** (2050, SECTION_OBJECT): \
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
||||||
// placement of an object of type TOMBSTONE that includes at least one locked
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
||||||
// object is prohibited;
|
// object is prohibited;
|
||||||
|
@ -81,8 +83,6 @@ type ObjectServiceClient interface {
|
||||||
// type other than REGULAR is prohibited;
|
// type other than REGULAR is prohibited;
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
// object storage container not found;
|
// object storage container not found;
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
||||||
// write access to the container is denied;
|
|
||||||
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
||||||
// (for trusted object preparation) session private key does not exist or has
|
// (for trusted object preparation) session private key does not exist or has
|
||||||
// been deleted;
|
// been deleted;
|
||||||
|
@ -103,12 +103,12 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully marked to be removed from the container;
|
// object has been successfully marked to be removed from the container;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
|
// delete access to the object is denied;
|
||||||
// - **LOCKED** (2050, SECTION_OBJECT): \
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
||||||
// deleting a locked object is prohibited;
|
// deleting a locked object is prohibited;
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
// object container not found;
|
// object container not found;
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
||||||
// delete access to the object is denied;
|
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
|
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
|
||||||
|
@ -127,16 +127,16 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object header has been successfully read;
|
// object header has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation HEAD of the object is denied;
|
// access to operation HEAD of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
Head(ctx context.Context, in *HeadRequest, opts ...grpc.CallOption) (*HeadResponse, error)
|
Head(ctx context.Context, in *HeadRequest, opts ...grpc.CallOption) (*HeadResponse, error)
|
||||||
// Search objects in container. Search query allows to match by Object
|
// Search objects in container. Search query allows to match by Object
|
||||||
// Header's filed values. Please see the corresponding NeoFS Technical
|
// Header's filed values. Please see the corresponding NeoFS Technical
|
||||||
|
@ -153,10 +153,10 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// objects have been successfully selected;
|
// objects have been successfully selected;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// search container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation SEARCH of the object is denied;
|
// access to operation SEARCH of the object is denied;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// search container not found;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (ObjectService_SearchClient, error)
|
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (ObjectService_SearchClient, error)
|
||||||
|
@ -179,18 +179,18 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// data range of the object payload has been successfully read;
|
// data range of the object payload has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation RANGE of the object is denied;
|
// access to operation RANGE of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted.
|
||||||
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
||||||
// the requested range is out of bounds.
|
// the requested range is out of bounds;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (ObjectService_GetRangeClient, error)
|
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (ObjectService_GetRangeClient, error)
|
||||||
// Returns homomorphic or regular hash of object's payload range after
|
// Returns homomorphic or regular hash of object's payload range after
|
||||||
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
||||||
|
@ -211,14 +211,14 @@ type ObjectServiceClient interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// data range of the object payload has been successfully hashed;
|
// data range of the object payload has been successfully hashed;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation RANGEHASH of the object is denied;
|
// access to operation RANGEHASH of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
||||||
// the requested range is out of bounds.
|
// the requested range is out of bounds;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
GetRangeHash(ctx context.Context, in *GetRangeHashRequest, opts ...grpc.CallOption) (*GetRangeHashResponse, error)
|
GetRangeHash(ctx context.Context, in *GetRangeHashRequest, opts ...grpc.CallOption) (*GetRangeHashResponse, error)
|
||||||
|
@ -415,16 +415,16 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully read;
|
// object has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// read access to the object is denied;
|
// read access to the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
Get(*GetRequest, ObjectService_GetServer) error
|
Get(*GetRequest, ObjectService_GetServer) error
|
||||||
// Put the object into container. Request uses gRPC stream. First message
|
// Put the object into container. Request uses gRPC stream. First message
|
||||||
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
// SHOULD be of PutHeader type. `ContainerID` and `OwnerID` of an object
|
||||||
|
@ -444,6 +444,8 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully saved in the container;
|
// object has been successfully saved in the container;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
|
// write access to the container is denied;
|
||||||
// - **LOCKED** (2050, SECTION_OBJECT): \
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
||||||
// placement of an object of type TOMBSTONE that includes at least one locked
|
// placement of an object of type TOMBSTONE that includes at least one locked
|
||||||
// object is prohibited;
|
// object is prohibited;
|
||||||
|
@ -452,8 +454,6 @@ type ObjectServiceServer interface {
|
||||||
// type other than REGULAR is prohibited;
|
// type other than REGULAR is prohibited;
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
// object storage container not found;
|
// object storage container not found;
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
||||||
// write access to the container is denied;
|
|
||||||
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
// - **TOKEN_NOT_FOUND** (4096, SECTION_SESSION): \
|
||||||
// (for trusted object preparation) session private key does not exist or has
|
// (for trusted object preparation) session private key does not exist or has
|
||||||
// been deleted;
|
// been deleted;
|
||||||
|
@ -474,12 +474,12 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object has been successfully marked to be removed from the container;
|
// object has been successfully marked to be removed from the container;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
|
// delete access to the object is denied;
|
||||||
// - **LOCKED** (2050, SECTION_OBJECT): \
|
// - **LOCKED** (2050, SECTION_OBJECT): \
|
||||||
// deleting a locked object is prohibited;
|
// deleting a locked object is prohibited;
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
// object container not found;
|
// object container not found;
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
|
||||||
// delete access to the object is denied;
|
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
|
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
|
||||||
|
@ -498,16 +498,16 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// object header has been successfully read;
|
// object header has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation HEAD of the object is denied;
|
// access to operation HEAD of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
Head(context.Context, *HeadRequest) (*HeadResponse, error)
|
Head(context.Context, *HeadRequest) (*HeadResponse, error)
|
||||||
// Search objects in container. Search query allows to match by Object
|
// Search objects in container. Search query allows to match by Object
|
||||||
// Header's filed values. Please see the corresponding NeoFS Technical
|
// Header's filed values. Please see the corresponding NeoFS Technical
|
||||||
|
@ -524,10 +524,10 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// objects have been successfully selected;
|
// objects have been successfully selected;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// search container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation SEARCH of the object is denied;
|
// access to operation SEARCH of the object is denied;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// search container not found;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
Search(*SearchRequest, ObjectService_SearchServer) error
|
Search(*SearchRequest, ObjectService_SearchServer) error
|
||||||
|
@ -550,18 +550,18 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// data range of the object payload has been successfully read;
|
// data range of the object payload has been successfully read;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation RANGE of the object is denied;
|
// access to operation RANGE of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
|
||||||
// provided session token has expired;
|
|
||||||
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
|
||||||
// the requested object has been marked as deleted.
|
// the requested object has been marked as deleted.
|
||||||
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
||||||
// the requested range is out of bounds.
|
// the requested range is out of bounds;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
|
// provided session token has expired.
|
||||||
GetRange(*GetRangeRequest, ObjectService_GetRangeServer) error
|
GetRange(*GetRangeRequest, ObjectService_GetRangeServer) error
|
||||||
// Returns homomorphic or regular hash of object's payload range after
|
// Returns homomorphic or regular hash of object's payload range after
|
||||||
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
|
||||||
|
@ -582,14 +582,14 @@ type ObjectServiceServer interface {
|
||||||
// - **OK** (0, SECTION_SUCCESS): \
|
// - **OK** (0, SECTION_SUCCESS): \
|
||||||
// data range of the object payload has been successfully hashed;
|
// data range of the object payload has been successfully hashed;
|
||||||
// - Common failures (SECTION_FAILURE_COMMON);
|
// - Common failures (SECTION_FAILURE_COMMON);
|
||||||
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
|
||||||
// object container not found;
|
|
||||||
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
// - **ACCESS_DENIED** (2048, SECTION_OBJECT): \
|
||||||
// access to operation RANGEHASH of the object is denied;
|
// access to operation RANGEHASH of the object is denied;
|
||||||
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
|
||||||
// object not found in container;
|
// object not found in container;
|
||||||
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
|
||||||
// the requested range is out of bounds.
|
// the requested range is out of bounds;
|
||||||
|
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
|
||||||
|
// object container not found;
|
||||||
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
|
||||||
// provided session token has expired.
|
// provided session token has expired.
|
||||||
GetRangeHash(context.Context, *GetRangeHashRequest) (*GetRangeHashResponse, error)
|
GetRangeHash(context.Context, *GetRangeHashRequest) (*GetRangeHashResponse, error)
|
||||||
|
|
|
@ -674,7 +674,7 @@ func (c *ObjectSessionContext) ToGRPCMessage() grpc.Message {
|
||||||
m = new(session.ObjectSessionContext)
|
m = new(session.ObjectSessionContext)
|
||||||
|
|
||||||
m.SetVerb(ObjectSessionVerbToGRPCField(c.verb))
|
m.SetVerb(ObjectSessionVerbToGRPCField(c.verb))
|
||||||
m.SetAddress(c.addr.ToGRPCMessage().(*refsGRPC.Address))
|
m.SetTarget(c.cnr.ToGRPCMessage().(*refsGRPC.ContainerID), refs.ObjectIDListToGRPCMessage(c.objs))
|
||||||
}
|
}
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
@ -688,20 +688,25 @@ func (c *ObjectSessionContext) FromGRPCMessage(m grpc.Message) error {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
addr := v.GetAddress()
|
cnr := v.GetTarget().GetContainer()
|
||||||
if addr == nil {
|
if cnr == nil {
|
||||||
c.addr = nil
|
c.cnr = nil
|
||||||
} else {
|
} else {
|
||||||
if c.addr == nil {
|
if c.cnr == nil {
|
||||||
c.addr = new(refs.Address)
|
c.cnr = new(refs.ContainerID)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = c.addr.FromGRPCMessage(addr)
|
err = c.cnr.FromGRPCMessage(cnr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c.objs, err = refs.ObjectIDListFromGRPCMessage(v.GetTarget().GetObjects())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
c.verb = ObjectSessionVerbFromGRPCField(v.GetVerb())
|
c.verb = ObjectSessionVerbFromGRPCField(v.GetVerb())
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -65,9 +65,12 @@ func (m *SessionToken_Body) SetContainerSessionContext(v *ContainerSessionContex
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetAddress sets address of the object related to the session.
|
// SetTarget specifies objects involved in the object session.
|
||||||
func (m *ObjectSessionContext) SetAddress(v *refs.Address) {
|
func (m *ObjectSessionContext) SetTarget(cnr *refs.ContainerID, objs []*refs.ObjectID) {
|
||||||
m.Address = v
|
m.Target = &ObjectSessionContext_Target{
|
||||||
|
Container: cnr,
|
||||||
|
Objects: objs,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetVerb sets type of request for which the token is issued.
|
// SetVerb sets type of request for which the token is issued.
|
||||||
|
|
439
session/grpc/types.pb.go
generated
439
session/grpc/types.pb.go
generated
|
@ -161,8 +161,10 @@ type ObjectSessionContext struct {
|
||||||
|
|
||||||
// Type of request for which the token is issued
|
// Type of request for which the token is issued
|
||||||
Verb ObjectSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ObjectSessionContext_Verb" json:"verb,omitempty"`
|
Verb ObjectSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ObjectSessionContext_Verb" json:"verb,omitempty"`
|
||||||
// Related Object address
|
// Object session target. MUST be correctly formed and set. If `objects`
|
||||||
Address *grpc.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
|
// field is not empty, then the session applies only to these elements,
|
||||||
|
// otherwise, to all objects from the specified container.
|
||||||
|
Target *ObjectSessionContext_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ObjectSessionContext) Reset() {
|
func (x *ObjectSessionContext) Reset() {
|
||||||
|
@ -204,9 +206,9 @@ func (x *ObjectSessionContext) GetVerb() ObjectSessionContext_Verb {
|
||||||
return ObjectSessionContext_VERB_UNSPECIFIED
|
return ObjectSessionContext_VERB_UNSPECIFIED
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ObjectSessionContext) GetAddress() *grpc.Address {
|
func (x *ObjectSessionContext) GetTarget() *ObjectSessionContext_Target {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Address
|
return x.Target
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -776,6 +778,67 @@ func (x *ResponseVerificationHeader) GetOrigin() *ResponseVerificationHeader {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Carries objects involved in the object session.
|
||||||
|
type ObjectSessionContext_Target struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
// Indicates which container the session is spread to. Field MUST be set
|
||||||
|
// and correct.
|
||||||
|
Container *grpc.ContainerID `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
|
||||||
|
// Indicates which objects the session is spread to. Objects are expected
|
||||||
|
// to be stored in the NeoFS container referenced by `container` field.
|
||||||
|
// Each element MUST have correct format.
|
||||||
|
Objects []*grpc.ObjectID `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ObjectSessionContext_Target) Reset() {
|
||||||
|
*x = ObjectSessionContext_Target{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_session_grpc_types_proto_msgTypes[8]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ObjectSessionContext_Target) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ObjectSessionContext_Target) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *ObjectSessionContext_Target) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_session_grpc_types_proto_msgTypes[8]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use ObjectSessionContext_Target.ProtoReflect.Descriptor instead.
|
||||||
|
func (*ObjectSessionContext_Target) Descriptor() ([]byte, []int) {
|
||||||
|
return file_session_grpc_types_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ObjectSessionContext_Target) GetContainer() *grpc.ContainerID {
|
||||||
|
if x != nil {
|
||||||
|
return x.Container
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ObjectSessionContext_Target) GetObjects() []*grpc.ObjectID {
|
||||||
|
if x != nil {
|
||||||
|
return x.Objects
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// Session Token body
|
// Session Token body
|
||||||
type SessionToken_Body struct {
|
type SessionToken_Body struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
|
@ -802,7 +865,7 @@ type SessionToken_Body struct {
|
||||||
func (x *SessionToken_Body) Reset() {
|
func (x *SessionToken_Body) Reset() {
|
||||||
*x = SessionToken_Body{}
|
*x = SessionToken_Body{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_session_grpc_types_proto_msgTypes[8]
|
mi := &file_session_grpc_types_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -815,7 +878,7 @@ func (x *SessionToken_Body) String() string {
|
||||||
func (*SessionToken_Body) ProtoMessage() {}
|
func (*SessionToken_Body) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SessionToken_Body) ProtoReflect() protoreflect.Message {
|
func (x *SessionToken_Body) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_session_grpc_types_proto_msgTypes[8]
|
mi := &file_session_grpc_types_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -915,7 +978,7 @@ type SessionToken_Body_TokenLifetime struct {
|
||||||
func (x *SessionToken_Body_TokenLifetime) Reset() {
|
func (x *SessionToken_Body_TokenLifetime) Reset() {
|
||||||
*x = SessionToken_Body_TokenLifetime{}
|
*x = SessionToken_Body_TokenLifetime{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_session_grpc_types_proto_msgTypes[9]
|
mi := &file_session_grpc_types_proto_msgTypes[10]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -928,7 +991,7 @@ func (x *SessionToken_Body_TokenLifetime) String() string {
|
||||||
func (*SessionToken_Body_TokenLifetime) ProtoMessage() {}
|
func (*SessionToken_Body_TokenLifetime) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SessionToken_Body_TokenLifetime) ProtoReflect() protoreflect.Message {
|
func (x *SessionToken_Body_TokenLifetime) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_session_grpc_types_proto_msgTypes[9]
|
mi := &file_session_grpc_types_proto_msgTypes[10]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -975,162 +1038,171 @@ var file_session_grpc_types_proto_rawDesc = []byte{
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74,
|
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74,
|
||||||
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x73, 0x74, 0x61, 0x74,
|
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x73, 0x74, 0x61, 0x74,
|
||||||
0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
|
0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
|
||||||
0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65,
|
0x6f, 0x74, 0x6f, 0x22, 0x85, 0x03, 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65,
|
||||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x04,
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x04,
|
||||||
0x76, 0x65, 0x72, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f,
|
0x76, 0x65, 0x72, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f,
|
||||||
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f,
|
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f,
|
||||||
0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
||||||
0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x31,
|
0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x46,
|
||||||
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
|
||||||
0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73,
|
0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69,
|
||||||
0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
0x6f, 0x6e, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
0x73, 0x22, 0x6a, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52,
|
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
|
||||||
0x42, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
|
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x77, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||||
0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10,
|
0x12, 0x39, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20,
|
||||||
0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53,
|
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
||||||
0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54,
|
0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44,
|
||||||
0x45, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0d,
|
0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x6f,
|
||||||
0x0a, 0x09, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x48, 0x41, 0x53, 0x48, 0x10, 0x07, 0x22, 0xfa, 0x01,
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e,
|
||||||
0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69,
|
0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62,
|
||||||
0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x76, 0x65, 0x72,
|
0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22,
|
||||||
0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
0x6a, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f,
|
||||||
0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
|
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a,
|
||||||
0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12,
|
||||||
0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x1a,
|
0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x41,
|
||||||
0x0a, 0x08, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
|
0x52, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10,
|
||||||
0x52, 0x08, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f,
|
0x05, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09,
|
||||||
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
0x52, 0x41, 0x4e, 0x47, 0x45, 0x48, 0x41, 0x53, 0x48, 0x10, 0x07, 0x22, 0xfa, 0x01, 0x0a, 0x17,
|
||||||
0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66,
|
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63,
|
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18,
|
||||||
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x04, 0x56, 0x65,
|
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
|
||||||
0x72, 0x62, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
|
0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
|
||||||
0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10,
|
0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
|
||||||
0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a,
|
0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x07, 0x53, 0x45, 0x54, 0x45, 0x41, 0x43, 0x4c, 0x10, 0x03, 0x22, 0xa0, 0x04, 0x0a, 0x0c, 0x53,
|
0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
|
||||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x62,
|
0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
|
||||||
0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e,
|
0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
|
||||||
0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65,
|
0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e,
|
||||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52,
|
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
|
||||||
0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
|
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62,
|
||||||
0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
|
||||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
|
0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12,
|
||||||
0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x9c,
|
0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53,
|
||||||
0x03, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
0x45, 0x54, 0x45, 0x41, 0x43, 0x4c, 0x10, 0x03, 0x22, 0xa0, 0x04, 0x0a, 0x0c, 0x53, 0x65, 0x73,
|
||||||
0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72,
|
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64,
|
||||||
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e,
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
||||||
0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72,
|
0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73,
|
||||||
0x49, 0x44, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x4e, 0x0a, 0x08, 0x6c,
|
0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62,
|
||||||
0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
|
0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
|
||||||
0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42,
|
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
||||||
0x6f, 0x64, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d,
|
0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x9c, 0x03, 0x0a,
|
||||||
0x65, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
|
0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
|
0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69,
|
||||||
0x52, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x06,
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
||||||
0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e,
|
0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44,
|
||||||
0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x4e, 0x0a, 0x08, 0x6c, 0x69, 0x66,
|
||||||
0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
|
0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x65,
|
||||||
0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
|
|
||||||
0x4a, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01,
|
|
||||||
0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73,
|
|
||||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
|
|
||||||
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00,
|
|
||||||
0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0d, 0x54,
|
|
||||||
0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03,
|
|
||||||
0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x10,
|
|
||||||
0x0a, 0x03, 0x6e, 0x62, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x62, 0x66,
|
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x69, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x69,
|
|
||||||
0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a,
|
|
||||||
0x07, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
|
||||||
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
||||||
0x22, 0x8d, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
|
|
||||||
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
|
||||||
0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f,
|
|
||||||
0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12,
|
|
||||||
0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74,
|
|
||||||
0x6c, 0x12, 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04,
|
|
||||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
|
||||||
0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
|
|
||||||
0x52, 0x08, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65,
|
|
||||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
||||||
0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65,
|
|
||||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b,
|
|
||||||
0x65, 0x6e, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
|
|
||||||
0x12, 0x3d, 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
|
||||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
|
|
||||||
0x76, 0x32, 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b,
|
|
||||||
0x65, 0x6e, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
|
|
||||||
0x3c, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
||||||
0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48,
|
|
||||||
0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a,
|
|
||||||
0x0c, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20,
|
|
||||||
0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
|
|
||||||
0x22, 0x99, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74,
|
|
||||||
0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
|
|
||||||
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
|
||||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70,
|
|
||||||
0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68,
|
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74,
|
|
||||||
0x74, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18,
|
|
||||||
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
|
|
||||||
0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65,
|
|
||||||
0x72, 0x52, 0x08, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6f,
|
|
||||||
0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65,
|
|
||||||
0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
|
0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64,
|
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64,
|
||||||
0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74,
|
0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x52,
|
||||||
0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f,
|
0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x73,
|
||||||
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74,
|
0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
|
||||||
0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xab, 0x02, 0x0a,
|
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x6f, 0x62,
|
||||||
0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61,
|
0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f,
|
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f,
|
||||||
0x64, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
|
||||||
|
0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a,
|
||||||
|
0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73,
|
||||||
|
0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65,
|
||||||
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x09,
|
||||||
|
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0d, 0x54, 0x6f, 0x6b,
|
||||||
|
0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78,
|
||||||
|
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03,
|
||||||
|
0x6e, 0x62, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x62, 0x66, 0x12, 0x10,
|
||||||
|
0x0a, 0x03, 0x69, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x69, 0x61, 0x74,
|
||||||
|
0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a, 0x07, 0x58,
|
||||||
|
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||||
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8d,
|
||||||
|
0x03, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65,
|
||||||
|
0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
|
||||||
|
0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07,
|
||||||
|
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68,
|
||||||
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10, 0x0a,
|
||||||
|
0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12,
|
||||||
|
0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03,
|
||||||
|
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73,
|
||||||
|
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x08,
|
||||||
|
0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73,
|
||||||
|
0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73,
|
||||||
|
0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
|
||||||
|
0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d,
|
||||||
|
0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06,
|
||||||
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
||||||
|
0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
|
||||||
|
0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a,
|
||||||
|
0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
|
||||||
|
0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||||
|
0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61,
|
||||||
|
0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
|
||||||
|
0x61, 0x67, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||||
|
0x04, 0x52, 0x0b, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x99,
|
||||||
|
0x02, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48,
|
||||||
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
|
||||||
|
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
||||||
|
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63,
|
||||||
|
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10,
|
||||||
|
0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c,
|
||||||
|
0x12, 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
|
||||||
|
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
||||||
|
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52,
|
||||||
|
0x08, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6f, 0x72, 0x69,
|
||||||
|
0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e,
|
||||||
|
0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
|
||||||
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
|
||||||
|
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
|
||||||
|
0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
||||||
|
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74,
|
||||||
|
0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x19, 0x52,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||||
|
0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79,
|
||||||
|
0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66,
|
||||||
|
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64,
|
||||||
|
0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65,
|
||||||
|
0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72,
|
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72,
|
||||||
0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62,
|
0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d,
|
||||||
0x6f, 0x64, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e,
|
0x65, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10,
|
||||||
0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
|
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
|
||||||
0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
|
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
||||||
0x0d, 0x6d, 0x65, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44,
|
0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
|
||||||
0x0a, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
|
0x72, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01,
|
||||||
0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73,
|
||||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
|
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65,
|
||||||
0x75, 0x72, 0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61,
|
0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
|
||||||
0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04,
|
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x73,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
||||||
0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79, 0x5f,
|
||||||
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64,
|
0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x02, 0x0a, 0x1a, 0x52,
|
0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
|
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64, 0x79,
|
||||||
0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64,
|
0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65, 0x74,
|
||||||
0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65,
|
0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65,
|
||||||
0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f,
|
0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d, 0x65,
|
||||||
0x64, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d,
|
0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6f,
|
||||||
0x65, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20,
|
0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
|
||||||
0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d,
|
0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x6d, 0x65, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a,
|
0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
||||||
0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65,
|
||||||
0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65,
|
||||||
0x72, 0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
|
0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
|
||||||
0x75, 0x72, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20,
|
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x59, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64, 0x65, 0x76,
|
||||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x2f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32,
|
||||||
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64,
|
0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x73, 0x65,
|
||||||
0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x59, 0x5a, 0x39, 0x67, 0x69,
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0xaa, 0x02, 0x1b, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65,
|
||||||
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64,
|
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x65, 0x73, 0x73,
|
||||||
0x65, 0x76, 0x2f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f,
|
0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x76, 0x32, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b,
|
|
||||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0xaa, 0x02, 0x1b, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69,
|
|
||||||
0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x65,
|
|
||||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1146,7 +1218,7 @@ func file_session_grpc_types_proto_rawDescGZIP() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_session_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
var file_session_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||||
var file_session_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
var file_session_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
|
||||||
var file_session_grpc_types_proto_goTypes = []interface{}{
|
var file_session_grpc_types_proto_goTypes = []interface{}{
|
||||||
(ObjectSessionContext_Verb)(0), // 0: neo.fs.v2.session.ObjectSessionContext.Verb
|
(ObjectSessionContext_Verb)(0), // 0: neo.fs.v2.session.ObjectSessionContext.Verb
|
||||||
(ContainerSessionContext_Verb)(0), // 1: neo.fs.v2.session.ContainerSessionContext.Verb
|
(ContainerSessionContext_Verb)(0), // 1: neo.fs.v2.session.ContainerSessionContext.Verb
|
||||||
|
@ -1158,22 +1230,23 @@ var file_session_grpc_types_proto_goTypes = []interface{}{
|
||||||
(*ResponseMetaHeader)(nil), // 7: neo.fs.v2.session.ResponseMetaHeader
|
(*ResponseMetaHeader)(nil), // 7: neo.fs.v2.session.ResponseMetaHeader
|
||||||
(*RequestVerificationHeader)(nil), // 8: neo.fs.v2.session.RequestVerificationHeader
|
(*RequestVerificationHeader)(nil), // 8: neo.fs.v2.session.RequestVerificationHeader
|
||||||
(*ResponseVerificationHeader)(nil), // 9: neo.fs.v2.session.ResponseVerificationHeader
|
(*ResponseVerificationHeader)(nil), // 9: neo.fs.v2.session.ResponseVerificationHeader
|
||||||
(*SessionToken_Body)(nil), // 10: neo.fs.v2.session.SessionToken.Body
|
(*ObjectSessionContext_Target)(nil), // 10: neo.fs.v2.session.ObjectSessionContext.Target
|
||||||
(*SessionToken_Body_TokenLifetime)(nil), // 11: neo.fs.v2.session.SessionToken.Body.TokenLifetime
|
(*SessionToken_Body)(nil), // 11: neo.fs.v2.session.SessionToken.Body
|
||||||
(*grpc.Address)(nil), // 12: neo.fs.v2.refs.Address
|
(*SessionToken_Body_TokenLifetime)(nil), // 12: neo.fs.v2.session.SessionToken.Body.TokenLifetime
|
||||||
(*grpc.ContainerID)(nil), // 13: neo.fs.v2.refs.ContainerID
|
(*grpc.ContainerID)(nil), // 13: neo.fs.v2.refs.ContainerID
|
||||||
(*grpc.Signature)(nil), // 14: neo.fs.v2.refs.Signature
|
(*grpc.Signature)(nil), // 14: neo.fs.v2.refs.Signature
|
||||||
(*grpc.Version)(nil), // 15: neo.fs.v2.refs.Version
|
(*grpc.Version)(nil), // 15: neo.fs.v2.refs.Version
|
||||||
(*grpc1.BearerToken)(nil), // 16: neo.fs.v2.acl.BearerToken
|
(*grpc1.BearerToken)(nil), // 16: neo.fs.v2.acl.BearerToken
|
||||||
(*grpc2.Status)(nil), // 17: neo.fs.v2.status.Status
|
(*grpc2.Status)(nil), // 17: neo.fs.v2.status.Status
|
||||||
(*grpc.OwnerID)(nil), // 18: neo.fs.v2.refs.OwnerID
|
(*grpc.ObjectID)(nil), // 18: neo.fs.v2.refs.ObjectID
|
||||||
|
(*grpc.OwnerID)(nil), // 19: neo.fs.v2.refs.OwnerID
|
||||||
}
|
}
|
||||||
var file_session_grpc_types_proto_depIdxs = []int32{
|
var file_session_grpc_types_proto_depIdxs = []int32{
|
||||||
0, // 0: neo.fs.v2.session.ObjectSessionContext.verb:type_name -> neo.fs.v2.session.ObjectSessionContext.Verb
|
0, // 0: neo.fs.v2.session.ObjectSessionContext.verb:type_name -> neo.fs.v2.session.ObjectSessionContext.Verb
|
||||||
12, // 1: neo.fs.v2.session.ObjectSessionContext.address:type_name -> neo.fs.v2.refs.Address
|
10, // 1: neo.fs.v2.session.ObjectSessionContext.target:type_name -> neo.fs.v2.session.ObjectSessionContext.Target
|
||||||
1, // 2: neo.fs.v2.session.ContainerSessionContext.verb:type_name -> neo.fs.v2.session.ContainerSessionContext.Verb
|
1, // 2: neo.fs.v2.session.ContainerSessionContext.verb:type_name -> neo.fs.v2.session.ContainerSessionContext.Verb
|
||||||
13, // 3: neo.fs.v2.session.ContainerSessionContext.container_id:type_name -> neo.fs.v2.refs.ContainerID
|
13, // 3: neo.fs.v2.session.ContainerSessionContext.container_id:type_name -> neo.fs.v2.refs.ContainerID
|
||||||
10, // 4: neo.fs.v2.session.SessionToken.body:type_name -> neo.fs.v2.session.SessionToken.Body
|
11, // 4: neo.fs.v2.session.SessionToken.body:type_name -> neo.fs.v2.session.SessionToken.Body
|
||||||
14, // 5: neo.fs.v2.session.SessionToken.signature:type_name -> neo.fs.v2.refs.Signature
|
14, // 5: neo.fs.v2.session.SessionToken.signature:type_name -> neo.fs.v2.refs.Signature
|
||||||
15, // 6: neo.fs.v2.session.RequestMetaHeader.version:type_name -> neo.fs.v2.refs.Version
|
15, // 6: neo.fs.v2.session.RequestMetaHeader.version:type_name -> neo.fs.v2.refs.Version
|
||||||
5, // 7: neo.fs.v2.session.RequestMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader
|
5, // 7: neo.fs.v2.session.RequestMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader
|
||||||
|
@ -1192,15 +1265,17 @@ var file_session_grpc_types_proto_depIdxs = []int32{
|
||||||
14, // 20: neo.fs.v2.session.ResponseVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature
|
14, // 20: neo.fs.v2.session.ResponseVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature
|
||||||
14, // 21: neo.fs.v2.session.ResponseVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature
|
14, // 21: neo.fs.v2.session.ResponseVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature
|
||||||
9, // 22: neo.fs.v2.session.ResponseVerificationHeader.origin:type_name -> neo.fs.v2.session.ResponseVerificationHeader
|
9, // 22: neo.fs.v2.session.ResponseVerificationHeader.origin:type_name -> neo.fs.v2.session.ResponseVerificationHeader
|
||||||
18, // 23: neo.fs.v2.session.SessionToken.Body.owner_id:type_name -> neo.fs.v2.refs.OwnerID
|
13, // 23: neo.fs.v2.session.ObjectSessionContext.Target.container:type_name -> neo.fs.v2.refs.ContainerID
|
||||||
11, // 24: neo.fs.v2.session.SessionToken.Body.lifetime:type_name -> neo.fs.v2.session.SessionToken.Body.TokenLifetime
|
18, // 24: neo.fs.v2.session.ObjectSessionContext.Target.objects:type_name -> neo.fs.v2.refs.ObjectID
|
||||||
2, // 25: neo.fs.v2.session.SessionToken.Body.object:type_name -> neo.fs.v2.session.ObjectSessionContext
|
19, // 25: neo.fs.v2.session.SessionToken.Body.owner_id:type_name -> neo.fs.v2.refs.OwnerID
|
||||||
3, // 26: neo.fs.v2.session.SessionToken.Body.container:type_name -> neo.fs.v2.session.ContainerSessionContext
|
12, // 26: neo.fs.v2.session.SessionToken.Body.lifetime:type_name -> neo.fs.v2.session.SessionToken.Body.TokenLifetime
|
||||||
27, // [27:27] is the sub-list for method output_type
|
2, // 27: neo.fs.v2.session.SessionToken.Body.object:type_name -> neo.fs.v2.session.ObjectSessionContext
|
||||||
27, // [27:27] is the sub-list for method input_type
|
3, // 28: neo.fs.v2.session.SessionToken.Body.container:type_name -> neo.fs.v2.session.ContainerSessionContext
|
||||||
27, // [27:27] is the sub-list for extension type_name
|
29, // [29:29] is the sub-list for method output_type
|
||||||
27, // [27:27] is the sub-list for extension extendee
|
29, // [29:29] is the sub-list for method input_type
|
||||||
0, // [0:27] is the sub-list for field type_name
|
29, // [29:29] is the sub-list for extension type_name
|
||||||
|
29, // [29:29] is the sub-list for extension extendee
|
||||||
|
0, // [0:29] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_session_grpc_types_proto_init() }
|
func init() { file_session_grpc_types_proto_init() }
|
||||||
|
@ -1306,7 +1381,7 @@ func file_session_grpc_types_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_session_grpc_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_session_grpc_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*SessionToken_Body); i {
|
switch v := v.(*ObjectSessionContext_Target); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1318,6 +1393,18 @@ func file_session_grpc_types_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_session_grpc_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
file_session_grpc_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SessionToken_Body); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_session_grpc_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*SessionToken_Body_TokenLifetime); i {
|
switch v := v.(*SessionToken_Body_TokenLifetime); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
|
@ -1330,7 +1417,7 @@ func file_session_grpc_types_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_session_grpc_types_proto_msgTypes[8].OneofWrappers = []interface{}{
|
file_session_grpc_types_proto_msgTypes[9].OneofWrappers = []interface{}{
|
||||||
(*SessionToken_Body_Object)(nil),
|
(*SessionToken_Body_Object)(nil),
|
||||||
(*SessionToken_Body_Container)(nil),
|
(*SessionToken_Body_Container)(nil),
|
||||||
}
|
}
|
||||||
|
@ -1340,7 +1427,7 @@ func file_session_grpc_types_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_session_grpc_types_proto_rawDesc,
|
RawDescriptor: file_session_grpc_types_proto_rawDesc,
|
||||||
NumEnums: 2,
|
NumEnums: 2,
|
||||||
NumMessages: 10,
|
NumMessages: 11,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -21,8 +21,8 @@ const (
|
||||||
lifetimeNotValidBeforeField = 2
|
lifetimeNotValidBeforeField = 2
|
||||||
lifetimeIssuedAtField = 3
|
lifetimeIssuedAtField = 3
|
||||||
|
|
||||||
objectCtxVerbField = 1
|
objectCtxVerbField = 1
|
||||||
objectCtxAddressField = 2
|
objectCtxTargetField = 2
|
||||||
|
|
||||||
sessionTokenBodyIDField = 1
|
sessionTokenBodyIDField = 1
|
||||||
sessionTokenBodyOwnerField = 2
|
sessionTokenBodyOwnerField = 2
|
||||||
|
@ -210,10 +210,11 @@ func (c *ObjectSessionContext) StableMarshal(buf []byte) []byte {
|
||||||
buf = make([]byte, c.StableSize())
|
buf = make([]byte, c.StableSize())
|
||||||
}
|
}
|
||||||
|
|
||||||
var offset int
|
offset := proto.EnumMarshal(objectCtxVerbField, buf, int32(c.verb))
|
||||||
|
proto.NestedStructureMarshal(objectCtxTargetField, buf[offset:], &objectSessionContextTarget{
|
||||||
offset += proto.EnumMarshal(objectCtxVerbField, buf[offset:], int32(c.verb))
|
cnr: c.cnr,
|
||||||
proto.NestedStructureMarshal(objectCtxAddressField, buf[offset:], c.addr)
|
objs: c.objs,
|
||||||
|
})
|
||||||
|
|
||||||
return buf
|
return buf
|
||||||
}
|
}
|
||||||
|
@ -224,7 +225,10 @@ func (c *ObjectSessionContext) StableSize() (size int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
size += proto.EnumSize(objectCtxVerbField, int32(c.verb))
|
size += proto.EnumSize(objectCtxVerbField, int32(c.verb))
|
||||||
size += proto.NestedStructureSize(objectCtxAddressField, c.addr)
|
size += proto.NestedStructureSize(objectCtxTargetField, &objectSessionContextTarget{
|
||||||
|
cnr: c.cnr,
|
||||||
|
objs: c.objs,
|
||||||
|
})
|
||||||
|
|
||||||
return size
|
return size
|
||||||
}
|
}
|
||||||
|
|
|
@ -195,7 +195,7 @@ func GenerateObjectSessionContext(empty bool) *session.ObjectSessionContext {
|
||||||
|
|
||||||
if !empty {
|
if !empty {
|
||||||
m.SetVerb(session.ObjectVerbHead)
|
m.SetVerb(session.ObjectVerbHead)
|
||||||
m.SetAddress(refstest.GenerateAddress(false))
|
m.SetTarget(refstest.GenerateContainerID(false), refstest.GenerateObjectIDs(false)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/acl"
|
"github.com/nspcc-dev/neofs-api-go/v2/acl"
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/refs"
|
"github.com/nspcc-dev/neofs-api-go/v2/refs"
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/status"
|
"github.com/nspcc-dev/neofs-api-go/v2/status"
|
||||||
|
"github.com/nspcc-dev/neofs-api-go/v2/util/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateRequestBody struct {
|
type CreateRequestBody struct {
|
||||||
|
@ -40,10 +41,48 @@ type TokenLifetime struct {
|
||||||
|
|
||||||
type ObjectSessionVerb uint32
|
type ObjectSessionVerb uint32
|
||||||
|
|
||||||
|
type objectSessionContextTarget struct {
|
||||||
|
cnr *refs.ContainerID
|
||||||
|
|
||||||
|
objs []refs.ObjectID
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
_ = iota
|
||||||
|
fNumObjectTargetContainer
|
||||||
|
fNumObjectTargetObjects
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x objectSessionContextTarget) StableMarshal(buf []byte) []byte {
|
||||||
|
if buf == nil {
|
||||||
|
buf = make([]byte, x.StableSize())
|
||||||
|
}
|
||||||
|
|
||||||
|
offset := proto.NestedStructureMarshal(fNumObjectTargetContainer, buf, x.cnr)
|
||||||
|
|
||||||
|
for i := range x.objs {
|
||||||
|
offset += proto.NestedStructureMarshal(fNumObjectTargetObjects, buf[offset:], &x.objs[i])
|
||||||
|
}
|
||||||
|
|
||||||
|
return buf
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x objectSessionContextTarget) StableSize() (size int) {
|
||||||
|
size += proto.NestedStructureSize(fNumObjectTargetContainer, x.cnr)
|
||||||
|
|
||||||
|
for i := range x.objs {
|
||||||
|
size += proto.NestedStructureSize(fNumObjectTargetObjects, &x.objs[i])
|
||||||
|
}
|
||||||
|
|
||||||
|
return size
|
||||||
|
}
|
||||||
|
|
||||||
type ObjectSessionContext struct {
|
type ObjectSessionContext struct {
|
||||||
verb ObjectSessionVerb
|
verb ObjectSessionVerb
|
||||||
|
|
||||||
addr *refs.Address
|
cnr *refs.ContainerID
|
||||||
|
|
||||||
|
objs []refs.ObjectID
|
||||||
}
|
}
|
||||||
|
|
||||||
type TokenContext interface {
|
type TokenContext interface {
|
||||||
|
@ -617,16 +656,25 @@ func (c *ObjectSessionContext) SetVerb(v ObjectSessionVerb) {
|
||||||
c.verb = v
|
c.verb = v
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ObjectSessionContext) GetAddress() *refs.Address {
|
func (c *ObjectSessionContext) GetContainer() *refs.ContainerID {
|
||||||
if c != nil {
|
if c != nil {
|
||||||
return c.addr
|
return c.cnr
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ObjectSessionContext) SetAddress(v *refs.Address) {
|
func (c *ObjectSessionContext) GetObjects() []refs.ObjectID {
|
||||||
c.addr = v
|
if c != nil {
|
||||||
|
return c.objs
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ObjectSessionContext) SetTarget(cnr *refs.ContainerID, objs ...refs.ObjectID) {
|
||||||
|
c.cnr = cnr
|
||||||
|
c.objs = objs
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TokenBody) GetID() []byte {
|
func (t *TokenBody) GetID() []byte {
|
||||||
|
|
Loading…
Reference in a new issue