| // Copyright 2020 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.22.0 |
| // protoc v3.12.2 |
| // source: google/cloud/bigquery/storage/v1beta1/storage.proto |
| |
| package storage |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| proto "github.com/golang/protobuf/proto" |
| empty "github.com/golang/protobuf/ptypes/empty" |
| timestamp "github.com/golang/protobuf/ptypes/timestamp" |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // This is a compile-time assertion that a sufficiently up-to-date version |
| // of the legacy proto package is being used. |
| const _ = proto.ProtoPackageIsVersion4 |
| |
| // Data format for input or output data. |
| type DataFormat int32 |
| |
| const ( |
| // Data format is unspecified. |
| DataFormat_DATA_FORMAT_UNSPECIFIED DataFormat = 0 |
| // Avro is a standard open source row based file format. |
| // See https://avro.apache.org/ for more details. |
| DataFormat_AVRO DataFormat = 1 |
| DataFormat_ARROW DataFormat = 3 |
| ) |
| |
| // Enum value maps for DataFormat. |
| var ( |
| DataFormat_name = map[int32]string{ |
| 0: "DATA_FORMAT_UNSPECIFIED", |
| 1: "AVRO", |
| 3: "ARROW", |
| } |
| DataFormat_value = map[string]int32{ |
| "DATA_FORMAT_UNSPECIFIED": 0, |
| "AVRO": 1, |
| "ARROW": 3, |
| } |
| ) |
| |
| func (x DataFormat) Enum() *DataFormat { |
| p := new(DataFormat) |
| *p = x |
| return p |
| } |
| |
| func (x DataFormat) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (DataFormat) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (DataFormat) Type() protoreflect.EnumType { |
| return &file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[0] |
| } |
| |
| func (x DataFormat) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use DataFormat.Descriptor instead. |
| func (DataFormat) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // Strategy for distributing data among multiple streams in a read session. |
| type ShardingStrategy int32 |
| |
| const ( |
| // Same as LIQUID. |
| ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED ShardingStrategy = 0 |
| // Assigns data to each stream based on the client's read rate. The faster the |
| // client reads from a stream, the more data is assigned to the stream. In |
| // this strategy, it's possible to read all data from a single stream even if |
| // there are other streams present. |
| ShardingStrategy_LIQUID ShardingStrategy = 1 |
| // Assigns data to each stream such that roughly the same number of rows can |
| // be read from each stream. Because the server-side unit for assigning data |
| // is collections of rows, the API does not guarantee that each stream will |
| // return the same number or rows. Additionally, the limits are enforced based |
| // on the number of pre-filtering rows, so some filters can lead to lopsided |
| // assignments. |
| ShardingStrategy_BALANCED ShardingStrategy = 2 |
| ) |
| |
| // Enum value maps for ShardingStrategy. |
| var ( |
| ShardingStrategy_name = map[int32]string{ |
| 0: "SHARDING_STRATEGY_UNSPECIFIED", |
| 1: "LIQUID", |
| 2: "BALANCED", |
| } |
| ShardingStrategy_value = map[string]int32{ |
| "SHARDING_STRATEGY_UNSPECIFIED": 0, |
| "LIQUID": 1, |
| "BALANCED": 2, |
| } |
| ) |
| |
| func (x ShardingStrategy) Enum() *ShardingStrategy { |
| p := new(ShardingStrategy) |
| *p = x |
| return p |
| } |
| |
| func (x ShardingStrategy) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ShardingStrategy) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (ShardingStrategy) Type() protoreflect.EnumType { |
| return &file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[1] |
| } |
| |
| func (x ShardingStrategy) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ShardingStrategy.Descriptor instead. |
| func (ShardingStrategy) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{1} |
| } |
| |
| // Information about a single data stream within a read session. |
| type Stream struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Name of the stream, in the form |
| // `projects/{project_id}/locations/{location}/streams/{stream_id}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *Stream) Reset() { |
| *x = Stream{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Stream) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Stream) ProtoMessage() {} |
| |
| func (x *Stream) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[0] |
| 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 Stream.ProtoReflect.Descriptor instead. |
| func (*Stream) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *Stream) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Expresses a point within a given stream using an offset position. |
| type StreamPosition struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Identifier for a given Stream. |
| Stream *Stream `protobuf:"bytes,1,opt,name=stream,proto3" json:"stream,omitempty"` |
| // Position in the stream. |
| Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` |
| } |
| |
| func (x *StreamPosition) Reset() { |
| *x = StreamPosition{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamPosition) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamPosition) ProtoMessage() {} |
| |
| func (x *StreamPosition) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[1] |
| 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 StreamPosition.ProtoReflect.Descriptor instead. |
| func (*StreamPosition) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *StreamPosition) GetStream() *Stream { |
| if x != nil { |
| return x.Stream |
| } |
| return nil |
| } |
| |
| func (x *StreamPosition) GetOffset() int64 { |
| if x != nil { |
| return x.Offset |
| } |
| return 0 |
| } |
| |
| // Information returned from a `CreateReadSession` request. |
| type ReadSession struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Unique identifier for the session, in the form |
| // `projects/{project_id}/locations/{location}/sessions/{session_id}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Time at which the session becomes invalid. After this time, subsequent |
| // requests to read this Session will return errors. |
| ExpireTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` |
| // The schema for the read. If read_options.selected_fields is set, the |
| // schema may be different from the table schema as it will only contain |
| // the selected fields. |
| // |
| // Types that are assignable to Schema: |
| // *ReadSession_AvroSchema |
| // *ReadSession_ArrowSchema |
| Schema isReadSession_Schema `protobuf_oneof:"schema"` |
| // Streams associated with this session. |
| Streams []*Stream `protobuf:"bytes,4,rep,name=streams,proto3" json:"streams,omitempty"` |
| // Table that this ReadSession is reading from. |
| TableReference *TableReference `protobuf:"bytes,7,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"` |
| // Any modifiers which are applied when reading from the specified table. |
| TableModifiers *TableModifiers `protobuf:"bytes,8,opt,name=table_modifiers,json=tableModifiers,proto3" json:"table_modifiers,omitempty"` |
| // The strategy to use for distributing data among the streams. |
| ShardingStrategy ShardingStrategy `protobuf:"varint,9,opt,name=sharding_strategy,json=shardingStrategy,proto3,enum=google.cloud.bigquery.storage.v1beta1.ShardingStrategy" json:"sharding_strategy,omitempty"` |
| } |
| |
| func (x *ReadSession) Reset() { |
| *x = ReadSession{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ReadSession) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ReadSession) ProtoMessage() {} |
| |
| func (x *ReadSession) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2] |
| 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 ReadSession.ProtoReflect.Descriptor instead. |
| func (*ReadSession) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *ReadSession) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *ReadSession) GetExpireTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.ExpireTime |
| } |
| return nil |
| } |
| |
| func (m *ReadSession) GetSchema() isReadSession_Schema { |
| if m != nil { |
| return m.Schema |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetAvroSchema() *AvroSchema { |
| if x, ok := x.GetSchema().(*ReadSession_AvroSchema); ok { |
| return x.AvroSchema |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetArrowSchema() *ArrowSchema { |
| if x, ok := x.GetSchema().(*ReadSession_ArrowSchema); ok { |
| return x.ArrowSchema |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetStreams() []*Stream { |
| if x != nil { |
| return x.Streams |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetTableReference() *TableReference { |
| if x != nil { |
| return x.TableReference |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetTableModifiers() *TableModifiers { |
| if x != nil { |
| return x.TableModifiers |
| } |
| return nil |
| } |
| |
| func (x *ReadSession) GetShardingStrategy() ShardingStrategy { |
| if x != nil { |
| return x.ShardingStrategy |
| } |
| return ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED |
| } |
| |
| type isReadSession_Schema interface { |
| isReadSession_Schema() |
| } |
| |
| type ReadSession_AvroSchema struct { |
| // Avro schema. |
| AvroSchema *AvroSchema `protobuf:"bytes,5,opt,name=avro_schema,json=avroSchema,proto3,oneof"` |
| } |
| |
| type ReadSession_ArrowSchema struct { |
| // Arrow schema. |
| ArrowSchema *ArrowSchema `protobuf:"bytes,6,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"` |
| } |
| |
| func (*ReadSession_AvroSchema) isReadSession_Schema() {} |
| |
| func (*ReadSession_ArrowSchema) isReadSession_Schema() {} |
| |
| // Creates a new read session, which may include additional options such as |
| // requested parallelism, projection filters and constraints. |
| type CreateReadSessionRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Reference to the table to read. |
| TableReference *TableReference `protobuf:"bytes,1,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"` |
| // Required. String of the form `projects/{project_id}` indicating the |
| // project this ReadSession is associated with. This is the project that will |
| // be billed for usage. |
| Parent string `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Any modifiers to the Table (e.g. snapshot timestamp). |
| TableModifiers *TableModifiers `protobuf:"bytes,2,opt,name=table_modifiers,json=tableModifiers,proto3" json:"table_modifiers,omitempty"` |
| // Initial number of streams. If unset or 0, we will |
| // provide a value of streams so as to produce reasonable throughput. Must be |
| // non-negative. The number of streams may be lower than the requested number, |
| // depending on the amount parallelism that is reasonable for the table and |
| // the maximum amount of parallelism allowed by the system. |
| // |
| // Streams must be read starting from offset 0. |
| RequestedStreams int32 `protobuf:"varint,3,opt,name=requested_streams,json=requestedStreams,proto3" json:"requested_streams,omitempty"` |
| // Read options for this session (e.g. column selection, filters). |
| ReadOptions *TableReadOptions `protobuf:"bytes,4,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"` |
| // Data output format. Currently default to Avro. |
| Format DataFormat `protobuf:"varint,5,opt,name=format,proto3,enum=google.cloud.bigquery.storage.v1beta1.DataFormat" json:"format,omitempty"` |
| // The strategy to use for distributing data among multiple streams. Currently |
| // defaults to liquid sharding. |
| ShardingStrategy ShardingStrategy `protobuf:"varint,7,opt,name=sharding_strategy,json=shardingStrategy,proto3,enum=google.cloud.bigquery.storage.v1beta1.ShardingStrategy" json:"sharding_strategy,omitempty"` |
| } |
| |
| func (x *CreateReadSessionRequest) Reset() { |
| *x = CreateReadSessionRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateReadSessionRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateReadSessionRequest) ProtoMessage() {} |
| |
| func (x *CreateReadSessionRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[3] |
| 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 CreateReadSessionRequest.ProtoReflect.Descriptor instead. |
| func (*CreateReadSessionRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *CreateReadSessionRequest) GetTableReference() *TableReference { |
| if x != nil { |
| return x.TableReference |
| } |
| return nil |
| } |
| |
| func (x *CreateReadSessionRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateReadSessionRequest) GetTableModifiers() *TableModifiers { |
| if x != nil { |
| return x.TableModifiers |
| } |
| return nil |
| } |
| |
| func (x *CreateReadSessionRequest) GetRequestedStreams() int32 { |
| if x != nil { |
| return x.RequestedStreams |
| } |
| return 0 |
| } |
| |
| func (x *CreateReadSessionRequest) GetReadOptions() *TableReadOptions { |
| if x != nil { |
| return x.ReadOptions |
| } |
| return nil |
| } |
| |
| func (x *CreateReadSessionRequest) GetFormat() DataFormat { |
| if x != nil { |
| return x.Format |
| } |
| return DataFormat_DATA_FORMAT_UNSPECIFIED |
| } |
| |
| func (x *CreateReadSessionRequest) GetShardingStrategy() ShardingStrategy { |
| if x != nil { |
| return x.ShardingStrategy |
| } |
| return ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED |
| } |
| |
| // Requesting row data via `ReadRows` must provide Stream position information. |
| type ReadRowsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Identifier of the position in the stream to start reading from. |
| // The offset requested must be less than the last row read from ReadRows. |
| // Requesting a larger offset is undefined. |
| ReadPosition *StreamPosition `protobuf:"bytes,1,opt,name=read_position,json=readPosition,proto3" json:"read_position,omitempty"` |
| } |
| |
| func (x *ReadRowsRequest) Reset() { |
| *x = ReadRowsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ReadRowsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ReadRowsRequest) ProtoMessage() {} |
| |
| func (x *ReadRowsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[4] |
| 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 ReadRowsRequest.ProtoReflect.Descriptor instead. |
| func (*ReadRowsRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ReadRowsRequest) GetReadPosition() *StreamPosition { |
| if x != nil { |
| return x.ReadPosition |
| } |
| return nil |
| } |
| |
| // Progress information for a given Stream. |
| type StreamStatus struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Number of estimated rows in the current stream. May change over time as |
| // different readers in the stream progress at rates which are relatively fast |
| // or slow. |
| EstimatedRowCount int64 `protobuf:"varint,1,opt,name=estimated_row_count,json=estimatedRowCount,proto3" json:"estimated_row_count,omitempty"` |
| // A value in the range [0.0, 1.0] that represents the fraction of rows |
| // assigned to this stream that have been processed by the server. In the |
| // presence of read filters, the server may process more rows than it returns, |
| // so this value reflects progress through the pre-filtering rows. |
| // |
| // This value is only populated for sessions created through the BALANCED |
| // sharding strategy. |
| FractionConsumed float32 `protobuf:"fixed32,2,opt,name=fraction_consumed,json=fractionConsumed,proto3" json:"fraction_consumed,omitempty"` |
| // Represents the progress of the current stream. |
| Progress *Progress `protobuf:"bytes,4,opt,name=progress,proto3" json:"progress,omitempty"` |
| // Whether this stream can be split. For sessions that use the LIQUID sharding |
| // strategy, this value is always false. For BALANCED sessions, this value is |
| // false when enough data have been read such that no more splits are possible |
| // at that point or beyond. For small tables or streams that are the result of |
| // a chain of splits, this value may never be true. |
| IsSplittable bool `protobuf:"varint,3,opt,name=is_splittable,json=isSplittable,proto3" json:"is_splittable,omitempty"` |
| } |
| |
| func (x *StreamStatus) Reset() { |
| *x = StreamStatus{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamStatus) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamStatus) ProtoMessage() {} |
| |
| func (x *StreamStatus) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[5] |
| 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 StreamStatus.ProtoReflect.Descriptor instead. |
| func (*StreamStatus) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *StreamStatus) GetEstimatedRowCount() int64 { |
| if x != nil { |
| return x.EstimatedRowCount |
| } |
| return 0 |
| } |
| |
| func (x *StreamStatus) GetFractionConsumed() float32 { |
| if x != nil { |
| return x.FractionConsumed |
| } |
| return 0 |
| } |
| |
| func (x *StreamStatus) GetProgress() *Progress { |
| if x != nil { |
| return x.Progress |
| } |
| return nil |
| } |
| |
| func (x *StreamStatus) GetIsSplittable() bool { |
| if x != nil { |
| return x.IsSplittable |
| } |
| return false |
| } |
| |
| type Progress struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The fraction of rows assigned to the stream that have been processed by the |
| // server so far, not including the rows in the current response message. |
| // |
| // This value, along with `at_response_end`, can be used to interpolate the |
| // progress made as the rows in the message are being processed using the |
| // following formula: `at_response_start + (at_response_end - |
| // at_response_start) * rows_processed_from_response / rows_in_response`. |
| // |
| // Note that if a filter is provided, the `at_response_end` value of the |
| // previous response may not necessarily be equal to the `at_response_start` |
| // value of the current response. |
| AtResponseStart float32 `protobuf:"fixed32,1,opt,name=at_response_start,json=atResponseStart,proto3" json:"at_response_start,omitempty"` |
| // Similar to `at_response_start`, except that this value includes the rows in |
| // the current response. |
| AtResponseEnd float32 `protobuf:"fixed32,2,opt,name=at_response_end,json=atResponseEnd,proto3" json:"at_response_end,omitempty"` |
| } |
| |
| func (x *Progress) Reset() { |
| *x = Progress{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Progress) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Progress) ProtoMessage() {} |
| |
| func (x *Progress) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[6] |
| 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 Progress.ProtoReflect.Descriptor instead. |
| func (*Progress) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *Progress) GetAtResponseStart() float32 { |
| if x != nil { |
| return x.AtResponseStart |
| } |
| return 0 |
| } |
| |
| func (x *Progress) GetAtResponseEnd() float32 { |
| if x != nil { |
| return x.AtResponseEnd |
| } |
| return 0 |
| } |
| |
| // Information on if the current connection is being throttled. |
| type ThrottleStatus struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // How much this connection is being throttled. |
| // 0 is no throttling, 100 is completely throttled. |
| ThrottlePercent int32 `protobuf:"varint,1,opt,name=throttle_percent,json=throttlePercent,proto3" json:"throttle_percent,omitempty"` |
| } |
| |
| func (x *ThrottleStatus) Reset() { |
| *x = ThrottleStatus{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ThrottleStatus) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ThrottleStatus) ProtoMessage() {} |
| |
| func (x *ThrottleStatus) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[7] |
| 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 ThrottleStatus.ProtoReflect.Descriptor instead. |
| func (*ThrottleStatus) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *ThrottleStatus) GetThrottlePercent() int32 { |
| if x != nil { |
| return x.ThrottlePercent |
| } |
| return 0 |
| } |
| |
| // Response from calling `ReadRows` may include row data, progress and |
| // throttling information. |
| type ReadRowsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Row data is returned in format specified during session creation. |
| // |
| // Types that are assignable to Rows: |
| // *ReadRowsResponse_AvroRows |
| // *ReadRowsResponse_ArrowRecordBatch |
| Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"` |
| // Number of serialized rows in the rows block. This value is recorded here, |
| // in addition to the row_count values in the output-specific messages in |
| // `rows`, so that code which needs to record progress through the stream can |
| // do so in an output format-independent way. |
| RowCount int64 `protobuf:"varint,6,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` |
| // Estimated stream statistics. |
| Status *StreamStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` |
| // Throttling status. If unset, the latest response still describes |
| // the current throttling status. |
| ThrottleStatus *ThrottleStatus `protobuf:"bytes,5,opt,name=throttle_status,json=throttleStatus,proto3" json:"throttle_status,omitempty"` |
| } |
| |
| func (x *ReadRowsResponse) Reset() { |
| *x = ReadRowsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ReadRowsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ReadRowsResponse) ProtoMessage() {} |
| |
| func (x *ReadRowsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_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 ReadRowsResponse.ProtoReflect.Descriptor instead. |
| func (*ReadRowsResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (m *ReadRowsResponse) GetRows() isReadRowsResponse_Rows { |
| if m != nil { |
| return m.Rows |
| } |
| return nil |
| } |
| |
| func (x *ReadRowsResponse) GetAvroRows() *AvroRows { |
| if x, ok := x.GetRows().(*ReadRowsResponse_AvroRows); ok { |
| return x.AvroRows |
| } |
| return nil |
| } |
| |
| func (x *ReadRowsResponse) GetArrowRecordBatch() *ArrowRecordBatch { |
| if x, ok := x.GetRows().(*ReadRowsResponse_ArrowRecordBatch); ok { |
| return x.ArrowRecordBatch |
| } |
| return nil |
| } |
| |
| func (x *ReadRowsResponse) GetRowCount() int64 { |
| if x != nil { |
| return x.RowCount |
| } |
| return 0 |
| } |
| |
| func (x *ReadRowsResponse) GetStatus() *StreamStatus { |
| if x != nil { |
| return x.Status |
| } |
| return nil |
| } |
| |
| func (x *ReadRowsResponse) GetThrottleStatus() *ThrottleStatus { |
| if x != nil { |
| return x.ThrottleStatus |
| } |
| return nil |
| } |
| |
| type isReadRowsResponse_Rows interface { |
| isReadRowsResponse_Rows() |
| } |
| |
| type ReadRowsResponse_AvroRows struct { |
| // Serialized row data in AVRO format. |
| AvroRows *AvroRows `protobuf:"bytes,3,opt,name=avro_rows,json=avroRows,proto3,oneof"` |
| } |
| |
| type ReadRowsResponse_ArrowRecordBatch struct { |
| // Serialized row data in Arrow RecordBatch format. |
| ArrowRecordBatch *ArrowRecordBatch `protobuf:"bytes,4,opt,name=arrow_record_batch,json=arrowRecordBatch,proto3,oneof"` |
| } |
| |
| func (*ReadRowsResponse_AvroRows) isReadRowsResponse_Rows() {} |
| |
| func (*ReadRowsResponse_ArrowRecordBatch) isReadRowsResponse_Rows() {} |
| |
| // Information needed to request additional streams for an established read |
| // session. |
| type BatchCreateReadSessionStreamsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Must be a non-expired session obtained from a call to |
| // CreateReadSession. Only the name field needs to be set. |
| Session *ReadSession `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"` |
| // Required. Number of new streams requested. Must be positive. |
| // Number of added streams may be less than this, see CreateReadSessionRequest |
| // for more information. |
| RequestedStreams int32 `protobuf:"varint,2,opt,name=requested_streams,json=requestedStreams,proto3" json:"requested_streams,omitempty"` |
| } |
| |
| func (x *BatchCreateReadSessionStreamsRequest) Reset() { |
| *x = BatchCreateReadSessionStreamsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchCreateReadSessionStreamsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchCreateReadSessionStreamsRequest) ProtoMessage() {} |
| |
| func (x *BatchCreateReadSessionStreamsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[9] |
| 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 BatchCreateReadSessionStreamsRequest.ProtoReflect.Descriptor instead. |
| func (*BatchCreateReadSessionStreamsRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *BatchCreateReadSessionStreamsRequest) GetSession() *ReadSession { |
| if x != nil { |
| return x.Session |
| } |
| return nil |
| } |
| |
| func (x *BatchCreateReadSessionStreamsRequest) GetRequestedStreams() int32 { |
| if x != nil { |
| return x.RequestedStreams |
| } |
| return 0 |
| } |
| |
| // The response from `BatchCreateReadSessionStreams` returns the stream |
| // identifiers for the newly created streams. |
| type BatchCreateReadSessionStreamsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Newly added streams. |
| Streams []*Stream `protobuf:"bytes,1,rep,name=streams,proto3" json:"streams,omitempty"` |
| } |
| |
| func (x *BatchCreateReadSessionStreamsResponse) Reset() { |
| *x = BatchCreateReadSessionStreamsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchCreateReadSessionStreamsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchCreateReadSessionStreamsResponse) ProtoMessage() {} |
| |
| func (x *BatchCreateReadSessionStreamsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[10] |
| 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 BatchCreateReadSessionStreamsResponse.ProtoReflect.Descriptor instead. |
| func (*BatchCreateReadSessionStreamsResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *BatchCreateReadSessionStreamsResponse) GetStreams() []*Stream { |
| if x != nil { |
| return x.Streams |
| } |
| return nil |
| } |
| |
| // Request information for invoking `FinalizeStream`. |
| type FinalizeStreamRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Stream to finalize. |
| Stream *Stream `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"` |
| } |
| |
| func (x *FinalizeStreamRequest) Reset() { |
| *x = FinalizeStreamRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *FinalizeStreamRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*FinalizeStreamRequest) ProtoMessage() {} |
| |
| func (x *FinalizeStreamRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[11] |
| 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 FinalizeStreamRequest.ProtoReflect.Descriptor instead. |
| func (*FinalizeStreamRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *FinalizeStreamRequest) GetStream() *Stream { |
| if x != nil { |
| return x.Stream |
| } |
| return nil |
| } |
| |
| // Request information for `SplitReadStream`. |
| type SplitReadStreamRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Stream to split. |
| OriginalStream *Stream `protobuf:"bytes,1,opt,name=original_stream,json=originalStream,proto3" json:"original_stream,omitempty"` |
| // A value in the range (0.0, 1.0) that specifies the fractional point at |
| // which the original stream should be split. The actual split point is |
| // evaluated on pre-filtered rows, so if a filter is provided, then there is |
| // no guarantee that the division of the rows between the new child streams |
| // will be proportional to this fractional value. Additionally, because the |
| // server-side unit for assigning data is collections of rows, this fraction |
| // will always map to to a data storage boundary on the server side. |
| Fraction float32 `protobuf:"fixed32,2,opt,name=fraction,proto3" json:"fraction,omitempty"` |
| } |
| |
| func (x *SplitReadStreamRequest) Reset() { |
| *x = SplitReadStreamRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SplitReadStreamRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SplitReadStreamRequest) ProtoMessage() {} |
| |
| func (x *SplitReadStreamRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[12] |
| 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 SplitReadStreamRequest.ProtoReflect.Descriptor instead. |
| func (*SplitReadStreamRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *SplitReadStreamRequest) GetOriginalStream() *Stream { |
| if x != nil { |
| return x.OriginalStream |
| } |
| return nil |
| } |
| |
| func (x *SplitReadStreamRequest) GetFraction() float32 { |
| if x != nil { |
| return x.Fraction |
| } |
| return 0 |
| } |
| |
| // Response from `SplitReadStream`. |
| type SplitReadStreamResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Primary stream, which contains the beginning portion of |
| // |original_stream|. An empty value indicates that the original stream can no |
| // longer be split. |
| PrimaryStream *Stream `protobuf:"bytes,1,opt,name=primary_stream,json=primaryStream,proto3" json:"primary_stream,omitempty"` |
| // Remainder stream, which contains the tail of |original_stream|. An empty |
| // value indicates that the original stream can no longer be split. |
| RemainderStream *Stream `protobuf:"bytes,2,opt,name=remainder_stream,json=remainderStream,proto3" json:"remainder_stream,omitempty"` |
| } |
| |
| func (x *SplitReadStreamResponse) Reset() { |
| *x = SplitReadStreamResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SplitReadStreamResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SplitReadStreamResponse) ProtoMessage() {} |
| |
| func (x *SplitReadStreamResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[13] |
| 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 SplitReadStreamResponse.ProtoReflect.Descriptor instead. |
| func (*SplitReadStreamResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *SplitReadStreamResponse) GetPrimaryStream() *Stream { |
| if x != nil { |
| return x.PrimaryStream |
| } |
| return nil |
| } |
| |
| func (x *SplitReadStreamResponse) GetRemainderStream() *Stream { |
| if x != nil { |
| return x.RemainderStream |
| } |
| return nil |
| } |
| |
| var File_google_cloud_bigquery_storage_v1beta1_storage_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc = []byte{ |
| 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, |
| 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, |
| 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, |
| 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, |
| 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, |
| 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, |
| 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, |
| 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, |
| 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, |
| 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x76, 0x72, 0x6f, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, |
| 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, |
| 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, |
| 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, |
| 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, |
| 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, |
| 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, |
| 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x06, 0x53, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x25, 0x62, |
| 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x22, 0x6f, |
| 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, |
| 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, |
| 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, |
| 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, |
| 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, |
| 0xf3, 0x05, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, |
| 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, |
| 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, |
| 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, |
| 0x12, 0x54, 0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, |
| 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x76, |
| 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, |
| 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x57, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, |
| 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, |
| 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, |
| 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, |
| 0x48, 0x00, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, |
| 0x47, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, |
| 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, |
| 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x5e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, |
| 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, |
| 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, |
| 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, |
| 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, |
| 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, |
| 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, |
| 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, |
| 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x64, 0x0a, 0x11, 0x73, 0x68, 0x61, 0x72, |
| 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, |
| 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, |
| 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x10, 0x73, 0x68, |
| 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x6b, |
| 0xea, 0x41, 0x68, 0x0a, 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, |
| 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, |
| 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, |
| 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, |
| 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x73, |
| 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xe6, 0x04, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, |
| 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, |
| 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, |
| 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, |
| 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, |
| 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, |
| 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, |
| 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, |
| 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, |
| 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, |
| 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, |
| 0x69, 0x65, 0x72, 0x73, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, |
| 0x69, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, |
| 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, |
| 0x73, 0x12, 0x5a, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, |
| 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, |
| 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, |
| 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, |
| 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, |
| 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, |
| 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, |
| 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x64, 0x0a, 0x11, 0x73, 0x68, 0x61, 0x72, |
| 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x07, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, |
| 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, |
| 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x10, 0x73, 0x68, |
| 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x72, |
| 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x5f, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, |
| 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, |
| 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, |
| 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, |
| 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, |
| 0x52, 0x11, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, |
| 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, |
| 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, |
| 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, |
| 0x12, 0x4b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, |
| 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, |
| 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, |
| 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x61, 0x62, |
| 0x6c, 0x65, 0x22, 0x5e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, |
| 0x0a, 0x11, 0x61, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, |
| 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x74, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x74, |
| 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, |
| 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, |
| 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, |
| 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, |
| 0x9d, 0x03, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x09, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x77, |
| 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, |
| 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, |
| 0x41, 0x76, 0x72, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x08, 0x61, 0x76, 0x72, 0x6f, |
| 0x52, 0x6f, 0x77, 0x73, 0x12, 0x67, 0x0a, 0x12, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x65, |
| 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, |
| 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, |
| 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x10, 0x61, 0x72, 0x72, |
| 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, |
| 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, |
| 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, |
| 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, |
| 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, |
| 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5e, 0x0a, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, |
| 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, |
| 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, |
| 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, |
| 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, |
| 0xab, 0x01, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, |
| 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, |
| 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, |
| 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, |
| 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, |
| 0x41, 0x02, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x11, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x72, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0x70, 0x0a, |
| 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, |
| 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, |
| 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, |
| 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, |
| 0x63, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, |
| 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, |
| 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x65, |
| 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x5b, 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, |
| 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, |
| 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, |
| 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, |
| 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0x0a, 0x17, 0x53, 0x70, 0x6c, |
| 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, |
| 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, |
| 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, |
| 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x70, 0x72, 0x69, |
| 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, |
| 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, |
| 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, |
| 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x2a, 0x3e, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, |
| 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, |
| 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, |
| 0x08, 0x0a, 0x04, 0x41, 0x56, 0x52, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, |
| 0x4f, 0x57, 0x10, 0x03, 0x2a, 0x4f, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, |
| 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x48, 0x41, 0x52, |
| 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, |
| 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, |
| 0x49, 0x51, 0x55, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x4c, 0x41, 0x4e, |
| 0x43, 0x45, 0x44, 0x10, 0x02, 0x32, 0xeb, 0x0a, 0x0a, 0x0f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, |
| 0x72, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0xb3, 0x02, 0x0a, 0x11, 0x43, 0x72, |
| 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, |
| 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, |
| 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, |
| 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, |
| 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, |
| 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, |
| 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x77, 0x22, 0x30, 0x2f, |
| 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, |
| 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x5f, 0x69, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, |
| 0x01, 0x2a, 0x5a, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, |
| 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, |
| 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, |
| 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x28, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, |
| 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, |
| 0xd0, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x36, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, |
| 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, |
| 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, |
| 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, |
| 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, |
| 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, |
| 0x7b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x73, |
| 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, |
| 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, |
| 0xda, 0x41, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, |
| 0x30, 0x01, 0x12, 0x90, 0x02, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, |
| 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, |
| 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, |
| 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, |
| 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, |
| 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, |
| 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, |
| 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, |
| 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x19, 0x73, 0x65, 0x73, 0x73, |
| 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0xa7, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, |
| 0x7a, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, |
| 0xe0, 0x01, 0x0a, 0x0f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, |
| 0x65, 0x61, 0x6d, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, |
| 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x6c, 0x69, |
| 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, |
| 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, |
| 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x62, |
| 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, |
| 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, |
| 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, |
| 0xda, 0x41, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, |
| 0x61, 0x6d, 0x1a, 0xae, 0x01, 0xca, 0x41, 0x1e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x89, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, |
| 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, |
| 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, |
| 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, |
| 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, |
| 0x6f, 0x72, 0x6d, 0x42, 0x79, 0x0a, 0x29, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, |
| 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, |
| 0x5a, 0x4c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, |
| 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, |
| 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, |
| 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x62, 0x06, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescOnce sync.Once |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData = file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc |
| ) |
| |
| func file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP() []byte { |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescOnce.Do(func() { |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData) |
| }) |
| return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData |
| } |
| |
| var file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 2) |
| var file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 14) |
| var file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes = []interface{}{ |
| (DataFormat)(0), // 0: google.cloud.bigquery.storage.v1beta1.DataFormat |
| (ShardingStrategy)(0), // 1: google.cloud.bigquery.storage.v1beta1.ShardingStrategy |
| (*Stream)(nil), // 2: google.cloud.bigquery.storage.v1beta1.Stream |
| (*StreamPosition)(nil), // 3: google.cloud.bigquery.storage.v1beta1.StreamPosition |
| (*ReadSession)(nil), // 4: google.cloud.bigquery.storage.v1beta1.ReadSession |
| (*CreateReadSessionRequest)(nil), // 5: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest |
| (*ReadRowsRequest)(nil), // 6: google.cloud.bigquery.storage.v1beta1.ReadRowsRequest |
| (*StreamStatus)(nil), // 7: google.cloud.bigquery.storage.v1beta1.StreamStatus |
| (*Progress)(nil), // 8: google.cloud.bigquery.storage.v1beta1.Progress |
| (*ThrottleStatus)(nil), // 9: google.cloud.bigquery.storage.v1beta1.ThrottleStatus |
| (*ReadRowsResponse)(nil), // 10: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse |
| (*BatchCreateReadSessionStreamsRequest)(nil), // 11: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest |
| (*BatchCreateReadSessionStreamsResponse)(nil), // 12: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse |
| (*FinalizeStreamRequest)(nil), // 13: google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest |
| (*SplitReadStreamRequest)(nil), // 14: google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest |
| (*SplitReadStreamResponse)(nil), // 15: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse |
| (*timestamp.Timestamp)(nil), // 16: google.protobuf.Timestamp |
| (*AvroSchema)(nil), // 17: google.cloud.bigquery.storage.v1beta1.AvroSchema |
| (*ArrowSchema)(nil), // 18: google.cloud.bigquery.storage.v1beta1.ArrowSchema |
| (*TableReference)(nil), // 19: google.cloud.bigquery.storage.v1beta1.TableReference |
| (*TableModifiers)(nil), // 20: google.cloud.bigquery.storage.v1beta1.TableModifiers |
| (*TableReadOptions)(nil), // 21: google.cloud.bigquery.storage.v1beta1.TableReadOptions |
| (*AvroRows)(nil), // 22: google.cloud.bigquery.storage.v1beta1.AvroRows |
| (*ArrowRecordBatch)(nil), // 23: google.cloud.bigquery.storage.v1beta1.ArrowRecordBatch |
| (*empty.Empty)(nil), // 24: google.protobuf.Empty |
| } |
| var file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs = []int32{ |
| 2, // 0: google.cloud.bigquery.storage.v1beta1.StreamPosition.stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 16, // 1: google.cloud.bigquery.storage.v1beta1.ReadSession.expire_time:type_name -> google.protobuf.Timestamp |
| 17, // 2: google.cloud.bigquery.storage.v1beta1.ReadSession.avro_schema:type_name -> google.cloud.bigquery.storage.v1beta1.AvroSchema |
| 18, // 3: google.cloud.bigquery.storage.v1beta1.ReadSession.arrow_schema:type_name -> google.cloud.bigquery.storage.v1beta1.ArrowSchema |
| 2, // 4: google.cloud.bigquery.storage.v1beta1.ReadSession.streams:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 19, // 5: google.cloud.bigquery.storage.v1beta1.ReadSession.table_reference:type_name -> google.cloud.bigquery.storage.v1beta1.TableReference |
| 20, // 6: google.cloud.bigquery.storage.v1beta1.ReadSession.table_modifiers:type_name -> google.cloud.bigquery.storage.v1beta1.TableModifiers |
| 1, // 7: google.cloud.bigquery.storage.v1beta1.ReadSession.sharding_strategy:type_name -> google.cloud.bigquery.storage.v1beta1.ShardingStrategy |
| 19, // 8: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.table_reference:type_name -> google.cloud.bigquery.storage.v1beta1.TableReference |
| 20, // 9: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.table_modifiers:type_name -> google.cloud.bigquery.storage.v1beta1.TableModifiers |
| 21, // 10: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.read_options:type_name -> google.cloud.bigquery.storage.v1beta1.TableReadOptions |
| 0, // 11: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.format:type_name -> google.cloud.bigquery.storage.v1beta1.DataFormat |
| 1, // 12: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.sharding_strategy:type_name -> google.cloud.bigquery.storage.v1beta1.ShardingStrategy |
| 3, // 13: google.cloud.bigquery.storage.v1beta1.ReadRowsRequest.read_position:type_name -> google.cloud.bigquery.storage.v1beta1.StreamPosition |
| 8, // 14: google.cloud.bigquery.storage.v1beta1.StreamStatus.progress:type_name -> google.cloud.bigquery.storage.v1beta1.Progress |
| 22, // 15: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.avro_rows:type_name -> google.cloud.bigquery.storage.v1beta1.AvroRows |
| 23, // 16: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.arrow_record_batch:type_name -> google.cloud.bigquery.storage.v1beta1.ArrowRecordBatch |
| 7, // 17: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.status:type_name -> google.cloud.bigquery.storage.v1beta1.StreamStatus |
| 9, // 18: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.throttle_status:type_name -> google.cloud.bigquery.storage.v1beta1.ThrottleStatus |
| 4, // 19: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest.session:type_name -> google.cloud.bigquery.storage.v1beta1.ReadSession |
| 2, // 20: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse.streams:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 2, // 21: google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest.stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 2, // 22: google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest.original_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 2, // 23: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse.primary_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 2, // 24: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse.remainder_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream |
| 5, // 25: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.CreateReadSession:input_type -> google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest |
| 6, // 26: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.ReadRows:input_type -> google.cloud.bigquery.storage.v1beta1.ReadRowsRequest |
| 11, // 27: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.BatchCreateReadSessionStreams:input_type -> google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest |
| 13, // 28: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.FinalizeStream:input_type -> google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest |
| 14, // 29: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.SplitReadStream:input_type -> google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest |
| 4, // 30: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.CreateReadSession:output_type -> google.cloud.bigquery.storage.v1beta1.ReadSession |
| 10, // 31: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.ReadRows:output_type -> google.cloud.bigquery.storage.v1beta1.ReadRowsResponse |
| 12, // 32: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.BatchCreateReadSessionStreams:output_type -> google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse |
| 24, // 33: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.FinalizeStream:output_type -> google.protobuf.Empty |
| 15, // 34: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.SplitReadStream:output_type -> google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse |
| 30, // [30:35] is the sub-list for method output_type |
| 25, // [25:30] is the sub-list for method input_type |
| 25, // [25:25] is the sub-list for extension type_name |
| 25, // [25:25] is the sub-list for extension extendee |
| 0, // [0:25] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_bigquery_storage_v1beta1_storage_proto_init() } |
| func file_google_cloud_bigquery_storage_v1beta1_storage_proto_init() { |
| if File_google_cloud_bigquery_storage_v1beta1_storage_proto != nil { |
| return |
| } |
| file_google_cloud_bigquery_storage_v1beta1_arrow_proto_init() |
| file_google_cloud_bigquery_storage_v1beta1_avro_proto_init() |
| file_google_cloud_bigquery_storage_v1beta1_read_options_proto_init() |
| file_google_cloud_bigquery_storage_v1beta1_table_reference_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Stream); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamPosition); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ReadSession); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateReadSessionRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ReadRowsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamStatus); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Progress); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ThrottleStatus); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ReadRowsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchCreateReadSessionStreamsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchCreateReadSessionStreamsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*FinalizeStreamRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SplitReadStreamRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SplitReadStreamResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2].OneofWrappers = []interface{}{ |
| (*ReadSession_AvroSchema)(nil), |
| (*ReadSession_ArrowSchema)(nil), |
| } |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8].OneofWrappers = []interface{}{ |
| (*ReadRowsResponse_AvroRows)(nil), |
| (*ReadRowsResponse_ArrowRecordBatch)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc, |
| NumEnums: 2, |
| NumMessages: 14, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes, |
| DependencyIndexes: file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs, |
| EnumInfos: file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes, |
| MessageInfos: file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes, |
| }.Build() |
| File_google_cloud_bigquery_storage_v1beta1_storage_proto = out.File |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc = nil |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes = nil |
| file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // BigQueryStorageClient is the client API for BigQueryStorage service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type BigQueryStorageClient interface { |
| // Creates a new read session. A read session divides the contents of a |
| // BigQuery table into one or more streams, which can then be used to read |
| // data from the table. The read session also specifies properties of the |
| // data to be read, such as a list of columns or a push-down filter describing |
| // the rows to be returned. |
| // |
| // A particular row can be read by at most one stream. When the caller has |
| // reached the end of each stream in the session, then all the data in the |
| // table has been read. |
| // |
| // Read sessions automatically expire 24 hours after they are created and do |
| // not require manual clean-up by the caller. |
| CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error) |
| // Reads rows from the table in the format prescribed by the read session. |
| // Each response contains one or more table rows, up to a maximum of 10 MiB |
| // per response; read requests which attempt to read individual rows larger |
| // than this will fail. |
| // |
| // Each request also returns a set of stream statistics reflecting the |
| // estimated total number of rows in the read stream. This number is computed |
| // based on the total table size and the number of active streams in the read |
| // session, and may change as other streams continue to read data. |
| ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryStorage_ReadRowsClient, error) |
| // Creates additional streams for a ReadSession. This API can be used to |
| // dynamically adjust the parallelism of a batch processing task upwards by |
| // adding additional workers. |
| BatchCreateReadSessionStreams(ctx context.Context, in *BatchCreateReadSessionStreamsRequest, opts ...grpc.CallOption) (*BatchCreateReadSessionStreamsResponse, error) |
| // Triggers the graceful termination of a single stream in a ReadSession. This |
| // API can be used to dynamically adjust the parallelism of a batch processing |
| // task downwards without losing data. |
| // |
| // This API does not delete the stream -- it remains visible in the |
| // ReadSession, and any data processed by the stream is not released to other |
| // streams. However, no additional data will be assigned to the stream once |
| // this call completes. Callers must continue reading data on the stream until |
| // the end of the stream is reached so that data which has already been |
| // assigned to the stream will be processed. |
| // |
| // This method will return an error if there are no other live streams |
| // in the Session, or if SplitReadStream() has been called on the given |
| // Stream. |
| FinalizeStream(ctx context.Context, in *FinalizeStreamRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // Splits a given read stream into two Streams. These streams are referred to |
| // as the primary and the residual of the split. The original stream can still |
| // be read from in the same manner as before. Both of the returned streams can |
| // also be read from, and the total rows return by both child streams will be |
| // the same as the rows read from the original stream. |
| // |
| // Moreover, the two child streams will be allocated back to back in the |
| // original Stream. Concretely, it is guaranteed that for streams Original, |
| // Primary, and Residual, that Original[0-j] = Primary[0-j] and |
| // Original[j-n] = Residual[0-m] once the streams have been read to |
| // completion. |
| // |
| // This method is guaranteed to be idempotent. |
| SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error) |
| } |
| |
| type bigQueryStorageClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewBigQueryStorageClient(cc grpc.ClientConnInterface) BigQueryStorageClient { |
| return &bigQueryStorageClient{cc} |
| } |
| |
| func (c *bigQueryStorageClient) CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error) { |
| out := new(ReadSession) |
| err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/CreateReadSession", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *bigQueryStorageClient) ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryStorage_ReadRowsClient, error) { |
| stream, err := c.cc.NewStream(ctx, &_BigQueryStorage_serviceDesc.Streams[0], "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/ReadRows", opts...) |
| if err != nil { |
| return nil, err |
| } |
| x := &bigQueryStorageReadRowsClient{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 BigQueryStorage_ReadRowsClient interface { |
| Recv() (*ReadRowsResponse, error) |
| grpc.ClientStream |
| } |
| |
| type bigQueryStorageReadRowsClient struct { |
| grpc.ClientStream |
| } |
| |
| func (x *bigQueryStorageReadRowsClient) Recv() (*ReadRowsResponse, error) { |
| m := new(ReadRowsResponse) |
| if err := x.ClientStream.RecvMsg(m); err != nil { |
| return nil, err |
| } |
| return m, nil |
| } |
| |
| func (c *bigQueryStorageClient) BatchCreateReadSessionStreams(ctx context.Context, in *BatchCreateReadSessionStreamsRequest, opts ...grpc.CallOption) (*BatchCreateReadSessionStreamsResponse, error) { |
| out := new(BatchCreateReadSessionStreamsResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/BatchCreateReadSessionStreams", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *bigQueryStorageClient) FinalizeStream(ctx context.Context, in *FinalizeStreamRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/FinalizeStream", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *bigQueryStorageClient) SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error) { |
| out := new(SplitReadStreamResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/SplitReadStream", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // BigQueryStorageServer is the server API for BigQueryStorage service. |
| type BigQueryStorageServer interface { |
| // Creates a new read session. A read session divides the contents of a |
| // BigQuery table into one or more streams, which can then be used to read |
| // data from the table. The read session also specifies properties of the |
| // data to be read, such as a list of columns or a push-down filter describing |
| // the rows to be returned. |
| // |
| // A particular row can be read by at most one stream. When the caller has |
| // reached the end of each stream in the session, then all the data in the |
| // table has been read. |
| // |
| // Read sessions automatically expire 24 hours after they are created and do |
| // not require manual clean-up by the caller. |
| CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error) |
| // Reads rows from the table in the format prescribed by the read session. |
| // Each response contains one or more table rows, up to a maximum of 10 MiB |
| // per response; read requests which attempt to read individual rows larger |
| // than this will fail. |
| // |
| // Each request also returns a set of stream statistics reflecting the |
| // estimated total number of rows in the read stream. This number is computed |
| // based on the total table size and the number of active streams in the read |
| // session, and may change as other streams continue to read data. |
| ReadRows(*ReadRowsRequest, BigQueryStorage_ReadRowsServer) error |
| // Creates additional streams for a ReadSession. This API can be used to |
| // dynamically adjust the parallelism of a batch processing task upwards by |
| // adding additional workers. |
| BatchCreateReadSessionStreams(context.Context, *BatchCreateReadSessionStreamsRequest) (*BatchCreateReadSessionStreamsResponse, error) |
| // Triggers the graceful termination of a single stream in a ReadSession. This |
| // API can be used to dynamically adjust the parallelism of a batch processing |
| // task downwards without losing data. |
| // |
| // This API does not delete the stream -- it remains visible in the |
| // ReadSession, and any data processed by the stream is not released to other |
| // streams. However, no additional data will be assigned to the stream once |
| // this call completes. Callers must continue reading data on the stream until |
| // the end of the stream is reached so that data which has already been |
| // assigned to the stream will be processed. |
| // |
| // This method will return an error if there are no other live streams |
| // in the Session, or if SplitReadStream() has been called on the given |
| // Stream. |
| FinalizeStream(context.Context, *FinalizeStreamRequest) (*empty.Empty, error) |
| // Splits a given read stream into two Streams. These streams are referred to |
| // as the primary and the residual of the split. The original stream can still |
| // be read from in the same manner as before. Both of the returned streams can |
| // also be read from, and the total rows return by both child streams will be |
| // the same as the rows read from the original stream. |
| // |
| // Moreover, the two child streams will be allocated back to back in the |
| // original Stream. Concretely, it is guaranteed that for streams Original, |
| // Primary, and Residual, that Original[0-j] = Primary[0-j] and |
| // Original[j-n] = Residual[0-m] once the streams have been read to |
| // completion. |
| // |
| // This method is guaranteed to be idempotent. |
| SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error) |
| } |
| |
| // UnimplementedBigQueryStorageServer can be embedded to have forward compatible implementations. |
| type UnimplementedBigQueryStorageServer struct { |
| } |
| |
| func (*UnimplementedBigQueryStorageServer) CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateReadSession not implemented") |
| } |
| func (*UnimplementedBigQueryStorageServer) ReadRows(*ReadRowsRequest, BigQueryStorage_ReadRowsServer) error { |
| return status.Errorf(codes.Unimplemented, "method ReadRows not implemented") |
| } |
| func (*UnimplementedBigQueryStorageServer) BatchCreateReadSessionStreams(context.Context, *BatchCreateReadSessionStreamsRequest) (*BatchCreateReadSessionStreamsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method BatchCreateReadSessionStreams not implemented") |
| } |
| func (*UnimplementedBigQueryStorageServer) FinalizeStream(context.Context, *FinalizeStreamRequest) (*empty.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method FinalizeStream not implemented") |
| } |
| func (*UnimplementedBigQueryStorageServer) SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method SplitReadStream not implemented") |
| } |
| |
| func RegisterBigQueryStorageServer(s *grpc.Server, srv BigQueryStorageServer) { |
| s.RegisterService(&_BigQueryStorage_serviceDesc, srv) |
| } |
| |
| func _BigQueryStorage_CreateReadSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateReadSessionRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BigQueryStorageServer).CreateReadSession(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/CreateReadSession", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BigQueryStorageServer).CreateReadSession(ctx, req.(*CreateReadSessionRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _BigQueryStorage_ReadRows_Handler(srv interface{}, stream grpc.ServerStream) error { |
| m := new(ReadRowsRequest) |
| if err := stream.RecvMsg(m); err != nil { |
| return err |
| } |
| return srv.(BigQueryStorageServer).ReadRows(m, &bigQueryStorageReadRowsServer{stream}) |
| } |
| |
| type BigQueryStorage_ReadRowsServer interface { |
| Send(*ReadRowsResponse) error |
| grpc.ServerStream |
| } |
| |
| type bigQueryStorageReadRowsServer struct { |
| grpc.ServerStream |
| } |
| |
| func (x *bigQueryStorageReadRowsServer) Send(m *ReadRowsResponse) error { |
| return x.ServerStream.SendMsg(m) |
| } |
| |
| func _BigQueryStorage_BatchCreateReadSessionStreams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(BatchCreateReadSessionStreamsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BigQueryStorageServer).BatchCreateReadSessionStreams(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/BatchCreateReadSessionStreams", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BigQueryStorageServer).BatchCreateReadSessionStreams(ctx, req.(*BatchCreateReadSessionStreamsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _BigQueryStorage_FinalizeStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(FinalizeStreamRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BigQueryStorageServer).FinalizeStream(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/FinalizeStream", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BigQueryStorageServer).FinalizeStream(ctx, req.(*FinalizeStreamRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _BigQueryStorage_SplitReadStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(SplitReadStreamRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BigQueryStorageServer).SplitReadStream(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.bigquery.storage.v1beta1.BigQueryStorage/SplitReadStream", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BigQueryStorageServer).SplitReadStream(ctx, req.(*SplitReadStreamRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _BigQueryStorage_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.cloud.bigquery.storage.v1beta1.BigQueryStorage", |
| HandlerType: (*BigQueryStorageServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "CreateReadSession", |
| Handler: _BigQueryStorage_CreateReadSession_Handler, |
| }, |
| { |
| MethodName: "BatchCreateReadSessionStreams", |
| Handler: _BigQueryStorage_BatchCreateReadSessionStreams_Handler, |
| }, |
| { |
| MethodName: "FinalizeStream", |
| Handler: _BigQueryStorage_FinalizeStream_Handler, |
| }, |
| { |
| MethodName: "SplitReadStream", |
| Handler: _BigQueryStorage_SplitReadStream_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{ |
| { |
| StreamName: "ReadRows", |
| Handler: _BigQueryStorage_ReadRows_Handler, |
| ServerStreams: true, |
| }, |
| }, |
| Metadata: "google/cloud/bigquery/storage/v1beta1/storage.proto", |
| } |