Merge branch 'release/0.2.14'

This commit is contained in:
Evgeniy Kulikov 2020-02-04 13:53:11 +03:00
commit bd623f2a8b
No known key found for this signature in database
GPG key ID: BF6AEE0A2A699BF2
6 changed files with 129 additions and 85 deletions

View file

@ -1,6 +1,17 @@
# Changelog # Changelog
This is the changelog for NeoFS Proto This is the changelog for NeoFS Proto
## [0.2.14] - 2020-02-04
### Fixed
- Readme
### Added
- Filename header
### Updated
- Object.Search now uses streams
## [0.2.13] - 2020-02-03 ## [0.2.13] - 2020-02-03
### Fixed ### Fixed
@ -134,3 +145,4 @@ Initial public release
[0.2.11]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.10...v0.2.11 [0.2.11]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.10...v0.2.11
[0.2.12]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.11...v0.2.12 [0.2.12]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.11...v0.2.12
[0.2.13]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.12...v0.2.13 [0.2.13]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.12...v0.2.13
[0.2.14]: https://github.com/nspcc-dev/neofs-api/compare/v0.2.13...v0.2.14

View file

@ -1,6 +1,6 @@
# NeoFS-proto # NeoFS API
NeoFS-proto repository contains implementation of core NeoFS structures that NeoFS API repository contains implementation of core NeoFS structures that
can be used for integration with NeoFS. can be used for integration with NeoFS.
## Description ## Description
@ -107,7 +107,7 @@ State package defines:
## How to use ## How to use
NeoFS-proto packages contain godoc documentation. Examples of using most of NeoFS API packages contain godoc documentation. Examples of using most of
these packages can be found in NeoFS-CLI repository. CLI implements and these packages can be found in NeoFS-CLI repository. CLI implements and
demonstrates all basic interactions with NeoFS: container, object, storage demonstrates all basic interactions with NeoFS: container, object, storage
group, and accounting operations. group, and accounting operations.

View file

@ -63,7 +63,7 @@ rpc Get(GetRequest) returns (stream GetResponse);
rpc Put(stream PutRequest) returns (PutResponse); rpc Put(stream PutRequest) returns (PutResponse);
rpc Delete(DeleteRequest) returns (DeleteResponse); rpc Delete(DeleteRequest) returns (DeleteResponse);
rpc Head(HeadRequest) returns (HeadResponse); rpc Head(HeadRequest) returns (HeadResponse);
rpc Search(SearchRequest) returns (SearchResponse); rpc Search(SearchRequest) returns (stream SearchResponse);
rpc GetRange(GetRangeRequest) returns (GetRangeResponse); rpc GetRange(GetRangeRequest) returns (GetRangeResponse);
rpc GetRangeHash(GetRangeHashRequest) returns (GetRangeHashResponse); rpc GetRangeHash(GetRangeHashRequest) returns (GetRangeHashResponse);

View file

@ -883,60 +883,60 @@ func init() {
func init() { proto.RegisterFile("object/service.proto", fileDescriptor_dfcdf610ade6a9ce) } func init() { proto.RegisterFile("object/service.proto", fileDescriptor_dfcdf610ade6a9ce) }
var fileDescriptor_dfcdf610ade6a9ce = []byte{ var fileDescriptor_dfcdf610ade6a9ce = []byte{
// 843 bytes of a gzipped FileDescriptorProto // 846 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x4f, 0x33, 0x55, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x4f, 0x33, 0x55,
0x14, 0xee, 0xed, 0x94, 0x01, 0x4e, 0xa7, 0xd0, 0x5c, 0x2a, 0x36, 0x23, 0x29, 0x64, 0x82, 0xa6, 0x14, 0xee, 0xed, 0x94, 0x01, 0x4e, 0xa7, 0xbc, 0xcd, 0xa5, 0xbe, 0x36, 0x23, 0x29, 0x64, 0x82,
0xc6, 0x74, 0x8a, 0x98, 0x00, 0x89, 0xb8, 0xb0, 0x6d, 0xa0, 0x2c, 0x0c, 0x78, 0x21, 0x24, 0xba, 0xa6, 0xc6, 0x74, 0x5a, 0x31, 0x41, 0x8c, 0xb8, 0xb0, 0x6d, 0xa0, 0x2c, 0x0c, 0x78, 0x21, 0x24,
0x9b, 0x4e, 0x6f, 0xdb, 0x91, 0x32, 0x53, 0xe7, 0x03, 0xc2, 0x0f, 0x70, 0xed, 0xd6, 0x85, 0x3f, 0xba, 0x9b, 0x4e, 0x6f, 0xdb, 0x91, 0x32, 0x53, 0xe7, 0x03, 0xc2, 0x0f, 0x70, 0xed, 0xd6, 0x95,
0xc5, 0x1f, 0xc0, 0xc6, 0x84, 0xa5, 0x71, 0x41, 0x4c, 0x5d, 0xbb, 0x37, 0x71, 0x63, 0xee, 0xc7, 0xbf, 0xc4, 0x1f, 0xc0, 0xc6, 0x84, 0xa5, 0x71, 0x41, 0x4c, 0x5d, 0xbb, 0x37, 0x71, 0x63, 0xee,
0x74, 0xa6, 0x45, 0x50, 0x59, 0xbc, 0x7d, 0x57, 0x3d, 0xf7, 0x39, 0x5f, 0x3d, 0xcf, 0x3c, 0xe7, 0xc7, 0x74, 0x66, 0x40, 0x50, 0x59, 0x58, 0x57, 0x3d, 0xf7, 0x39, 0x5f, 0x3d, 0xcf, 0x3c, 0xe7,
0xce, 0x40, 0xc9, 0xeb, 0x7c, 0x43, 0xed, 0xb0, 0x1e, 0x50, 0xff, 0xc6, 0xb1, 0xa9, 0x39, 0xf2, 0xce, 0x40, 0xc5, 0xeb, 0x7f, 0x45, 0xed, 0xb0, 0x19, 0x50, 0xff, 0xca, 0xb1, 0xa9, 0x39, 0xf5,
0xbd, 0xd0, 0xc3, 0xaa, 0x40, 0xf5, 0xa2, 0x4f, 0x7b, 0x41, 0x3d, 0xbc, 0x1b, 0xd1, 0x40, 0x78, 0xbd, 0xd0, 0xc3, 0xaa, 0x40, 0xf5, 0xb2, 0x4f, 0x87, 0x41, 0x33, 0xbc, 0x99, 0xd2, 0x40, 0x78,
0x74, 0x2c, 0xe3, 0xd3, 0xd8, 0x5a, 0x40, 0x83, 0xc0, 0xf1, 0xdc, 0xe9, 0x40, 0x59, 0xb1, 0x7e, 0x74, 0x2c, 0xe3, 0xd3, 0xd8, 0x7a, 0x40, 0x83, 0xc0, 0xf1, 0xdc, 0x6c, 0xa0, 0xac, 0xd8, 0xbc,
0x4d, 0x43, 0x4b, 0x62, 0xa5, 0x18, 0xbb, 0xa1, 0xbe, 0xd3, 0xbb, 0x93, 0x68, 0xad, 0xef, 0x84, 0xa4, 0xa1, 0x25, 0xb1, 0x4a, 0x8c, 0x5d, 0x51, 0xdf, 0x19, 0xde, 0x48, 0xb4, 0x31, 0x72, 0xc2,
0x83, 0xa8, 0x63, 0xda, 0xde, 0x75, 0xbd, 0xef, 0xf5, 0xbd, 0x3a, 0x87, 0x3b, 0x51, 0x8f, 0x9f, 0x71, 0xd4, 0x37, 0x6d, 0xef, 0xb2, 0x39, 0xf2, 0x46, 0x5e, 0x93, 0xc3, 0xfd, 0x68, 0xc8, 0x4f,
0xf8, 0x81, 0x5b, 0x22, 0xdc, 0xf8, 0x19, 0x01, 0x1c, 0xd3, 0x90, 0xd0, 0x6f, 0x23, 0x1a, 0x84, 0xfc, 0xc0, 0x2d, 0x11, 0x6e, 0xfc, 0x88, 0x00, 0x0e, 0x69, 0x48, 0xe8, 0xd7, 0x11, 0x0d, 0x42,
0xb8, 0x06, 0x8b, 0x9f, 0x77, 0xbb, 0x3e, 0x0d, 0x82, 0x32, 0xda, 0x42, 0xd5, 0xfc, 0x6e, 0xc1, 0xdc, 0x80, 0xe5, 0x4f, 0x07, 0x03, 0x9f, 0x06, 0x41, 0x15, 0x6d, 0xa1, 0x7a, 0x71, 0xa7, 0x64,
0x64, 0x7f, 0xda, 0x94, 0x60, 0x23, 0x77, 0xff, 0xb8, 0x99, 0x21, 0x71, 0x0c, 0x2e, 0x82, 0x42, 0xb2, 0x3f, 0x6d, 0x4a, 0xb0, 0x5d, 0xb8, 0xbd, 0xdf, 0xcc, 0x91, 0x38, 0x06, 0x97, 0x41, 0x21,
0xac, 0xdb, 0x72, 0x76, 0x0b, 0x55, 0x97, 0x08, 0x33, 0xf1, 0x01, 0xe4, 0xbe, 0xa0, 0xa1, 0x55, 0xd6, 0x75, 0x35, 0xbf, 0x85, 0xea, 0x2b, 0x84, 0x99, 0x78, 0x0f, 0x0a, 0x9f, 0xd1, 0xd0, 0xaa,
0xee, 0xf0, 0x6c, 0xdd, 0x8c, 0x99, 0x90, 0x0d, 0x98, 0xaf, 0x4d, 0xad, 0x2e, 0xf5, 0x1b, 0x4b, 0xf6, 0x79, 0xb6, 0x6e, 0xc6, 0x4c, 0xc8, 0x06, 0xcc, 0xd7, 0xa3, 0xd6, 0x80, 0xfa, 0xed, 0x15,
0xac, 0xd4, 0xc3, 0xe3, 0x26, 0x22, 0x3c, 0x03, 0xb7, 0x40, 0xbd, 0xe4, 0x83, 0x94, 0x6d, 0x9e, 0x56, 0xea, 0xee, 0x7e, 0x13, 0x11, 0x9e, 0x81, 0xbb, 0xa0, 0x9e, 0xf3, 0x41, 0xaa, 0x36, 0xcf,
0x6b, 0xcc, 0xe6, 0x72, 0xaf, 0x63, 0x5b, 0xa1, 0xe3, 0xb9, 0x4f, 0x6a, 0xc8, 0x5c, 0xe3, 0x02, 0x35, 0x1e, 0xe6, 0x72, 0xaf, 0x63, 0x5b, 0xa1, 0xe3, 0xb9, 0x8f, 0x6a, 0xc8, 0x5c, 0xe3, 0x0c,
0xf2, 0x7c, 0x9c, 0x60, 0xe4, 0xb9, 0x01, 0xc5, 0x55, 0x90, 0xe4, 0xcb, 0x71, 0x56, 0x4c, 0x71, 0x8a, 0x7c, 0x9c, 0x60, 0xea, 0xb9, 0x01, 0xc5, 0x75, 0x90, 0xe4, 0xcb, 0x71, 0xd6, 0x4c, 0x71,
0x34, 0x4f, 0xf9, 0x4f, 0x3b, 0x43, 0xa4, 0x1f, 0xaf, 0xc3, 0x42, 0x73, 0x10, 0xb9, 0x57, 0x7c, 0x34, 0x8f, 0xf9, 0x4f, 0x2f, 0x47, 0xa4, 0x1f, 0xbf, 0x86, 0xa5, 0xce, 0x38, 0x72, 0x2f, 0xf8,
0x18, 0xad, 0x9d, 0x21, 0xe2, 0xd8, 0x50, 0x00, 0x11, 0xe3, 0xa7, 0x2c, 0xc0, 0x59, 0x34, 0x61, 0x30, 0x5a, 0x2f, 0x47, 0xc4, 0xb1, 0xad, 0x00, 0x22, 0xc6, 0x0f, 0x79, 0x80, 0x93, 0x68, 0xce,
0x69, 0x0f, 0x54, 0xf1, 0x07, 0x64, 0xd5, 0x8d, 0xb8, 0x6a, 0x12, 0xc3, 0x4c, 0x11, 0xc3, 0x7a, 0xd2, 0x2e, 0xa8, 0xe2, 0x0f, 0xc8, 0xaa, 0x1b, 0x71, 0xd5, 0x24, 0x86, 0x99, 0x22, 0x86, 0xf5,
0x08, 0xeb, 0xb9, 0x1e, 0xf3, 0x26, 0x4d, 0xff, 0x0a, 0x96, 0x27, 0x7f, 0x17, 0x7f, 0x00, 0xea, 0x10, 0xd6, 0x53, 0x3d, 0x16, 0x4d, 0x9a, 0xfe, 0x05, 0xac, 0xce, 0xff, 0x2e, 0x7e, 0x07, 0xd4,
0xe9, 0x0b, 0x94, 0x11, 0xe9, 0xc5, 0xdb, 0xb0, 0x70, 0xe1, 0x5d, 0x51, 0x97, 0x0f, 0xc3, 0xc2, 0xe3, 0x67, 0x28, 0x23, 0xd2, 0x8b, 0xb7, 0x61, 0xe9, 0xcc, 0xbb, 0xa0, 0x2e, 0x1f, 0x86, 0x85,
0xa4, 0x6e, 0x4d, 0x8e, 0x12, 0xe1, 0x14, 0xf4, 0x1d, 0x42, 0x9e, 0x33, 0x23, 0x1f, 0xca, 0xff, 0x49, 0xdd, 0x9a, 0x1c, 0x25, 0xc2, 0x29, 0xe8, 0xdb, 0x87, 0x22, 0x67, 0x46, 0x3e, 0x94, 0x7f,
0x13, 0x99, 0xf1, 0x7d, 0x16, 0x0a, 0x2d, 0x3a, 0xa4, 0x21, 0x7d, 0xa5, 0x4a, 0x3f, 0x84, 0xc5, 0x27, 0x32, 0xe3, 0xdb, 0x3c, 0x94, 0xba, 0x74, 0x42, 0x43, 0xfa, 0x42, 0x95, 0xbe, 0x0b, 0xcb,
0xd3, 0x5b, 0x97, 0xfa, 0x27, 0x2d, 0x41, 0x7c, 0x63, 0x95, 0xf9, 0x7f, 0x7d, 0xdc, 0x8c, 0x61, 0xc7, 0xd7, 0x2e, 0xf5, 0x8f, 0xba, 0x82, 0xf8, 0xf6, 0x2b, 0xe6, 0xff, 0xf9, 0x7e, 0x33, 0x86,
0x12, 0x1b, 0xc9, 0x50, 0xca, 0x0b, 0x43, 0xcd, 0x5d, 0xe4, 0x45, 0x58, 0x89, 0x09, 0x11, 0x94, 0x49, 0x6c, 0x24, 0x43, 0x29, 0xcf, 0x0c, 0xb5, 0x70, 0x91, 0x97, 0x61, 0x2d, 0x26, 0x44, 0x50,
0x1a, 0x7f, 0x21, 0xc8, 0xb3, 0xf0, 0x98, 0xa1, 0x83, 0x7f, 0x61, 0x68, 0xc2, 0x80, 0x04, 0x12, 0x6a, 0xfc, 0x81, 0xa0, 0xc8, 0xc2, 0x63, 0x86, 0xf6, 0xfe, 0x86, 0xa1, 0x39, 0x03, 0x12, 0x48,
0xb2, 0xb6, 0x20, 0x7f, 0x14, 0x0d, 0x87, 0xa2, 0x77, 0x20, 0x57, 0x3b, 0x0d, 0xc5, 0x4b, 0xaf, 0xc8, 0xda, 0x82, 0xe2, 0x41, 0x34, 0x99, 0x88, 0xde, 0x81, 0x5c, 0xed, 0x34, 0x14, 0x2f, 0xbd,
0xbc, 0x3d, 0x4b, 0xbf, 0x07, 0x9a, 0x18, 0x5e, 0x0a, 0xec, 0x3f, 0x4a, 0xd8, 0xf8, 0x13, 0x41, 0xf2, 0xff, 0x59, 0xfa, 0x5d, 0xd0, 0xc4, 0xf0, 0x52, 0x60, 0xff, 0x50, 0xc2, 0xc6, 0xef, 0x08,
0xe1, 0x9c, 0x5a, 0xbe, 0x3d, 0x48, 0x94, 0x95, 0x6f, 0x7a, 0x6e, 0x68, 0x39, 0x42, 0x2e, 0x88, 0x4a, 0xa7, 0xd4, 0xf2, 0xed, 0x71, 0xa2, 0xac, 0x62, 0xc7, 0x73, 0x43, 0xcb, 0x11, 0x72, 0x41,
0xcb, 0x25, 0x2f, 0xc9, 0x52, 0x9a, 0x27, 0x2d, 0x92, 0xf6, 0xe3, 0x12, 0x2c, 0x7c, 0x19, 0x51, 0x5c, 0x2e, 0x45, 0x49, 0x96, 0xd2, 0x39, 0xea, 0x92, 0xb4, 0x1f, 0x57, 0x60, 0xe9, 0xf3, 0x88,
0xff, 0x4e, 0xe8, 0x8a, 0x88, 0x03, 0x36, 0x40, 0xe3, 0xc6, 0x25, 0xf5, 0x99, 0x76, 0x38, 0x53, 0xfa, 0x37, 0x42, 0x57, 0x44, 0x1c, 0xb0, 0x01, 0x1a, 0x37, 0xce, 0xa9, 0xcf, 0xb4, 0xc3, 0x99,
0x05, 0x32, 0x85, 0xcd, 0x9d, 0xb2, 0x26, 0xac, 0xc4, 0x93, 0x4b, 0xd2, 0x3e, 0x86, 0x65, 0xa9, 0x2a, 0x91, 0x0c, 0xb6, 0x70, 0xca, 0x3a, 0xb0, 0x16, 0x4f, 0x2e, 0x49, 0x7b, 0x1f, 0x56, 0xa5,
0x01, 0xca, 0x44, 0xa3, 0x3c, 0xb7, 0x56, 0x49, 0x94, 0xf1, 0x07, 0x82, 0x55, 0x76, 0xdb, 0x5a, 0x06, 0x28, 0x13, 0x8d, 0xf2, 0xd4, 0x5a, 0x25, 0x51, 0xc6, 0x6f, 0x08, 0x5e, 0xb1, 0xdb, 0xd6,
0x6e, 0xff, 0xb5, 0xbb, 0xf9, 0x11, 0xa8, 0x3c, 0x9d, 0x29, 0x4d, 0xb4, 0x94, 0x8f, 0x8a, 0xa3, 0x72, 0x47, 0x2f, 0xdd, 0xcd, 0xf7, 0x40, 0xe5, 0xe9, 0x4c, 0x69, 0xa2, 0xa5, 0x7c, 0x54, 0x1c,
0x32, 0x5a, 0x86, 0xcc, 0x9d, 0xb4, 0x1d, 0x28, 0x26, 0xe3, 0x4a, 0xda, 0x36, 0x60, 0xf9, 0xc8, 0x95, 0xd1, 0x32, 0x64, 0xe1, 0xa4, 0xb5, 0xa0, 0x9c, 0x8c, 0x2b, 0x69, 0xdb, 0x80, 0xd5, 0x03,
0xb7, 0xfa, 0xd7, 0xd4, 0x0d, 0x05, 0x6d, 0x1a, 0x49, 0x00, 0xe3, 0xbb, 0x2c, 0xac, 0xc5, 0x29, 0xdf, 0x1a, 0x5d, 0x52, 0x37, 0x14, 0xb4, 0x69, 0x24, 0x01, 0x8c, 0x6f, 0xf2, 0xb0, 0x1e, 0xa7,
0x6d, 0x2b, 0x18, 0xbc, 0x09, 0x96, 0x30, 0xe4, 0xce, 0xad, 0x61, 0xc8, 0x65, 0xa7, 0x11, 0x6e, 0xf4, 0xac, 0x60, 0xfc, 0x5f, 0xb0, 0x84, 0xa1, 0x70, 0x6a, 0x4d, 0x42, 0x2e, 0x3b, 0x8d, 0x70,
0xcf, 0x9d, 0xb9, 0x43, 0x28, 0x4d, 0xd3, 0x20, 0xd9, 0xdb, 0x06, 0x95, 0x9d, 0xa5, 0xe2, 0xb4, 0x7b, 0xe1, 0xcc, 0xed, 0x43, 0x25, 0x4b, 0x83, 0x64, 0x6f, 0x1b, 0x54, 0x76, 0x96, 0x8a, 0xd3,
0x86, 0x26, 0x57, 0x2d, 0xc7, 0xa3, 0xa4, 0x6f, 0xf7, 0x47, 0x05, 0x16, 0xcf, 0x45, 0x57, 0xbc, 0xda, 0x9a, 0x5c, 0xb5, 0x02, 0x8f, 0x92, 0xbe, 0x9d, 0xef, 0x15, 0x58, 0x3e, 0x15, 0x5d, 0x71,
0x03, 0xca, 0x31, 0x0d, 0x31, 0x8e, 0x19, 0x48, 0x3e, 0x5e, 0xf4, 0xb5, 0x29, 0x4c, 0x74, 0xd8, 0x0b, 0x94, 0x43, 0x1a, 0x62, 0x1c, 0x33, 0x90, 0x7c, 0xbc, 0xe8, 0xeb, 0x19, 0x4c, 0x74, 0x68,
0x41, 0x2c, 0xe3, 0x2c, 0x4a, 0x65, 0x24, 0x2f, 0xe9, 0x24, 0x23, 0xf5, 0x7a, 0xaa, 0x22, 0xbc, 0x21, 0x96, 0x71, 0x12, 0xa5, 0x32, 0x92, 0x97, 0x74, 0x92, 0x91, 0x7a, 0x3d, 0xd5, 0x11, 0xfe,
0x0f, 0xaa, 0xb8, 0x5f, 0xf1, 0x3b, 0x71, 0xc0, 0xd4, 0x0b, 0x48, 0x5f, 0x9f, 0x85, 0x27, 0x3b, 0x10, 0x54, 0x71, 0xbf, 0xe2, 0x37, 0xe2, 0x80, 0xcc, 0x0b, 0x48, 0x7f, 0xfd, 0x10, 0x9e, 0xef,
0x94, 0x63, 0x14, 0xe0, 0x49, 0xdd, 0xd4, 0x9d, 0xac, 0x97, 0xa6, 0x41, 0x99, 0xb2, 0x0f, 0xaa, 0x50, 0x81, 0x51, 0x80, 0xe7, 0x75, 0x53, 0x77, 0xb2, 0x5e, 0xc9, 0x82, 0x32, 0xe5, 0x23, 0x50,
0x58, 0xc4, 0xa4, 0xd7, 0xd4, 0x95, 0x94, 0xf4, 0x9a, 0xd9, 0xd7, 0xcf, 0x60, 0x29, 0xa6, 0x14, 0xc5, 0x22, 0x26, 0xbd, 0x32, 0x57, 0x52, 0xd2, 0x2b, 0xbb, 0xaf, 0x2d, 0x84, 0x3f, 0x81, 0x95,
0xbf, 0x9b, 0x9e, 0x3c, 0xb5, 0x8d, 0x7a, 0xf9, 0xa9, 0x43, 0xa6, 0x9f, 0x80, 0x96, 0x7e, 0x22, 0x98, 0x54, 0xfc, 0x66, 0x7a, 0xf6, 0xd4, 0x3e, 0xea, 0xd5, 0xc7, 0x0e, 0xd9, 0xf9, 0x08, 0xb4,
0xf8, 0xbd, 0xd9, 0xc8, 0x94, 0x5c, 0xf5, 0x8d, 0x7f, 0x76, 0x8a, 0x52, 0x8d, 0x4f, 0xef, 0xc7, 0xf4, 0x33, 0xc1, 0x6f, 0x3d, 0x8c, 0x4c, 0x09, 0x56, 0xdf, 0xf8, 0x6b, 0xa7, 0x28, 0xd5, 0xfe,
0x15, 0xf4, 0x30, 0xae, 0xa0, 0x5f, 0xc6, 0x15, 0xf4, 0xdb, 0xb8, 0x82, 0x7e, 0xf8, 0xbd, 0x92, 0xf8, 0x76, 0x56, 0x43, 0x77, 0xb3, 0x1a, 0xfa, 0x69, 0x56, 0x43, 0xbf, 0xcc, 0x6a, 0xe8, 0xbb,
0xf9, 0xfa, 0xfd, 0xd4, 0x87, 0xa8, 0x1b, 0x8c, 0x6c, 0xbb, 0xd6, 0xa5, 0x37, 0x75, 0x97, 0x7a, 0x5f, 0x6b, 0xb9, 0x2f, 0xdf, 0x4e, 0x7d, 0x8a, 0xba, 0xc1, 0xd4, 0xb6, 0x1b, 0x03, 0x7a, 0xd5,
0xbd, 0xa0, 0x66, 0x8d, 0x9c, 0xba, 0xa8, 0xd8, 0x51, 0xf9, 0x77, 0xe8, 0x27, 0x7f, 0x07, 0x00, 0x74, 0xa9, 0x37, 0x0c, 0x1a, 0xd6, 0xd4, 0x69, 0x8a, 0x8a, 0x7d, 0x95, 0x7f, 0x89, 0x7e, 0xf0,
0x00, 0xff, 0xff, 0xfc, 0xc2, 0x63, 0xdb, 0x3b, 0x0b, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0xee, 0x6d, 0x9e, 0x41, 0x3d, 0x0b, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -973,7 +973,7 @@ type ServiceClient interface {
// Search objects in container. Version of query language format SHOULD BE // Search objects in container. Version of query language format SHOULD BE
// set to 1. Search query represented in serialized format (see query // set to 1. Search query represented in serialized format (see query
// package). // package).
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (Service_SearchClient, error)
// GetRange of data payload. Ranges are set of pairs (offset, length). // GetRange of data payload. Ranges are set of pairs (offset, length).
// Fragments order in response corresponds to ranges order in request. // Fragments order in response corresponds to ranges order in request.
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (*GetRangeResponse, error) GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (*GetRangeResponse, error)
@ -1076,13 +1076,36 @@ func (c *serviceClient) Head(ctx context.Context, in *HeadRequest, opts ...grpc.
return out, nil return out, nil
} }
func (c *serviceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) { func (c *serviceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (Service_SearchClient, error) {
out := new(SearchResponse) stream, err := c.cc.NewStream(ctx, &_Service_serviceDesc.Streams[2], "/object.Service/Search", opts...)
err := c.cc.Invoke(ctx, "/object.Service/Search", in, out, opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return out, nil x := &serviceSearchClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Service_SearchClient interface {
Recv() (*SearchResponse, error)
grpc.ClientStream
}
type serviceSearchClient struct {
grpc.ClientStream
}
func (x *serviceSearchClient) Recv() (*SearchResponse, error) {
m := new(SearchResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
} }
func (c *serviceClient) GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (*GetRangeResponse, error) { func (c *serviceClient) GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (*GetRangeResponse, error) {
@ -1127,7 +1150,7 @@ type ServiceServer interface {
// Search objects in container. Version of query language format SHOULD BE // Search objects in container. Version of query language format SHOULD BE
// set to 1. Search query represented in serialized format (see query // set to 1. Search query represented in serialized format (see query
// package). // package).
Search(context.Context, *SearchRequest) (*SearchResponse, error) Search(*SearchRequest, Service_SearchServer) error
// GetRange of data payload. Ranges are set of pairs (offset, length). // GetRange of data payload. Ranges are set of pairs (offset, length).
// Fragments order in response corresponds to ranges order in request. // Fragments order in response corresponds to ranges order in request.
GetRange(context.Context, *GetRangeRequest) (*GetRangeResponse, error) GetRange(context.Context, *GetRangeRequest) (*GetRangeResponse, error)
@ -1154,8 +1177,8 @@ func (*UnimplementedServiceServer) Delete(ctx context.Context, req *DeleteReques
func (*UnimplementedServiceServer) Head(ctx context.Context, req *HeadRequest) (*HeadResponse, error) { func (*UnimplementedServiceServer) Head(ctx context.Context, req *HeadRequest) (*HeadResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Head not implemented") return nil, status.Errorf(codes.Unimplemented, "method Head not implemented")
} }
func (*UnimplementedServiceServer) Search(ctx context.Context, req *SearchRequest) (*SearchResponse, error) { func (*UnimplementedServiceServer) Search(req *SearchRequest, srv Service_SearchServer) error {
return nil, status.Errorf(codes.Unimplemented, "method Search not implemented") return status.Errorf(codes.Unimplemented, "method Search not implemented")
} }
func (*UnimplementedServiceServer) GetRange(ctx context.Context, req *GetRangeRequest) (*GetRangeResponse, error) { func (*UnimplementedServiceServer) GetRange(ctx context.Context, req *GetRangeRequest) (*GetRangeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetRange not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetRange not implemented")
@ -1251,22 +1274,25 @@ func _Service_Head_Handler(srv interface{}, ctx context.Context, dec func(interf
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Service_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Service_Search_Handler(srv interface{}, stream grpc.ServerStream) error {
in := new(SearchRequest) m := new(SearchRequest)
if err := dec(in); err != nil { if err := stream.RecvMsg(m); err != nil {
return nil, err return err
} }
if interceptor == nil { return srv.(ServiceServer).Search(m, &serviceSearchServer{stream})
return srv.(ServiceServer).Search(ctx, in)
} }
info := &grpc.UnaryServerInfo{
Server: srv, type Service_SearchServer interface {
FullMethod: "/object.Service/Search", Send(*SearchResponse) error
grpc.ServerStream
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ServiceServer).Search(ctx, req.(*SearchRequest)) type serviceSearchServer struct {
grpc.ServerStream
} }
return interceptor(ctx, in, info, handler)
func (x *serviceSearchServer) Send(m *SearchResponse) error {
return x.ServerStream.SendMsg(m)
} }
func _Service_GetRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Service_GetRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
@ -1317,10 +1343,6 @@ var _Service_serviceDesc = grpc.ServiceDesc{
MethodName: "Head", MethodName: "Head",
Handler: _Service_Head_Handler, Handler: _Service_Head_Handler,
}, },
{
MethodName: "Search",
Handler: _Service_Search_Handler,
},
{ {
MethodName: "GetRange", MethodName: "GetRange",
Handler: _Service_GetRange_Handler, Handler: _Service_GetRange_Handler,
@ -1341,6 +1363,11 @@ var _Service_serviceDesc = grpc.ServiceDesc{
Handler: _Service_Put_Handler, Handler: _Service_Put_Handler,
ClientStreams: true, ClientStreams: true,
}, },
{
StreamName: "Search",
Handler: _Service_Search_Handler,
ServerStreams: true,
},
}, },
Metadata: "object/service.proto", Metadata: "object/service.proto",
} }

View file

@ -40,7 +40,7 @@ service Service {
// Search objects in container. Version of query language format SHOULD BE // Search objects in container. Version of query language format SHOULD BE
// set to 1. Search query represented in serialized format (see query // set to 1. Search query represented in serialized format (see query
// package). // package).
rpc Search(SearchRequest) returns (SearchResponse); rpc Search(SearchRequest) returns (stream SearchResponse);
// GetRange of data payload. Ranges are set of pairs (offset, length). // GetRange of data payload. Ranges are set of pairs (offset, length).
// Fragments order in response corresponds to ranges order in request. // Fragments order in response corresponds to ranges order in request.

View file

@ -8,6 +8,11 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
) )
// FilenameHeader is a user header key for names of files, stored by third
// party apps. We recommend to use this header to be compatible with neofs
// http gate, neofs minio gate and neofs-dropper application.
const FilenameHeader = "filename"
// ByteSize used to format bytes // ByteSize used to format bytes
type ByteSize uint64 type ByteSize uint64