...
Package bytestream
Overview ▹
Index ▹
func RegisterByteStreamServer ¶
func RegisterByteStreamServer(s *grpc.Server, srv ByteStreamServer)
type ByteStreamClient ¶
type ByteStreamClient interface { // `Read()` is used to retrieve the contents of a resource as a sequence // of bytes. The bytes are returned in a sequence of responses, and the // responses are delivered as the results of a server-side streaming RPC. Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (ByteStream_ReadClient, error) // `Write()` is used to send the contents of a resource as a sequence of // bytes. The bytes are sent in a sequence of request protos of a client-side // streaming RPC. // // A `Write()` action is resumable. If there is an error or the connection is // broken during the `Write()`, the client should check the status of the // `Write()` by calling `QueryWriteStatus()` and continue writing from the // returned `committed_size`. This may be less than the amount of data the // client previously sent. // // Calling `Write()` on a resource name that was previously written and // finalized could cause an error, depending on whether the underlying service // allows over-writing of previously written resources. // // When the client closes the request channel, the service will respond with // a `WriteResponse`. The service will not view the resource as `complete` // until the client has sent a `WriteRequest` with `finish_write` set to // `true`. Sending any requests on a stream after sending a request with // `finish_write` set to `true` will cause an error. The client **should** // check the `WriteResponse` it receives to determine how much data the // service was able to commit and whether the service views the resource as // `complete` or not. Write(ctx context.Context, opts ...grpc.CallOption) (ByteStream_WriteClient, error) // `QueryWriteStatus()` is used to find the `committed_size` for a resource // that is being written, which can then be used as the `write_offset` for // the next `Write()` call. // // If the resource does not exist (i.e., the resource has been deleted, or the // first `Write()` has not yet reached the service), this method returns the // error `NOT_FOUND`. // // The client **may** call `QueryWriteStatus()` at any time to determine how // much data has been processed for this resource. This is useful if the // client is buffering data and needs to know which data can be safely // evicted. For any sequence of `QueryWriteStatus()` calls for a given // resource name, the sequence of returned `committed_size` values will be // non-decreasing. QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error) }
func NewByteStreamClient ¶
func NewByteStreamClient(cc *grpc.ClientConn) ByteStreamClient
type ByteStreamServer ¶
type ByteStreamServer interface { // `Read()` is used to retrieve the contents of a resource as a sequence // of bytes. The bytes are returned in a sequence of responses, and the // responses are delivered as the results of a server-side streaming RPC. Read(*ReadRequest, ByteStream_ReadServer) error // `Write()` is used to send the contents of a resource as a sequence of // bytes. The bytes are sent in a sequence of request protos of a client-side // streaming RPC. // // A `Write()` action is resumable. If there is an error or the connection is // broken during the `Write()`, the client should check the status of the // `Write()` by calling `QueryWriteStatus()` and continue writing from the // returned `committed_size`. This may be less than the amount of data the // client previously sent. // // Calling `Write()` on a resource name that was previously written and // finalized could cause an error, depending on whether the underlying service // allows over-writing of previously written resources. // // When the client closes the request channel, the service will respond with // a `WriteResponse`. The service will not view the resource as `complete` // until the client has sent a `WriteRequest` with `finish_write` set to // `true`. Sending any requests on a stream after sending a request with // `finish_write` set to `true` will cause an error. The client **should** // check the `WriteResponse` it receives to determine how much data the // service was able to commit and whether the service views the resource as // `complete` or not. Write(ByteStream_WriteServer) error // `QueryWriteStatus()` is used to find the `committed_size` for a resource // that is being written, which can then be used as the `write_offset` for // the next `Write()` call. // // If the resource does not exist (i.e., the resource has been deleted, or the // first `Write()` has not yet reached the service), this method returns the // error `NOT_FOUND`. // // The client **may** call `QueryWriteStatus()` at any time to determine how // much data has been processed for this resource. This is useful if the // client is buffering data and needs to know which data can be safely // evicted. For any sequence of `QueryWriteStatus()` calls for a given // resource name, the sequence of returned `committed_size` values will be // non-decreasing. QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error) }
type ByteStream_ReadClient ¶
type ByteStream_ReadClient interface { Recv() (*ReadResponse, error) grpc.ClientStream }
type ByteStream_ReadServer ¶
type ByteStream_ReadServer interface { Send(*ReadResponse) error grpc.ServerStream }
type ByteStream_WriteClient ¶
type ByteStream_WriteClient interface { Send(*WriteRequest) error CloseAndRecv() (*WriteResponse, error) grpc.ClientStream }
type ByteStream_WriteServer ¶
type ByteStream_WriteServer interface { SendAndClose(*WriteResponse) error Recv() (*WriteRequest, error) grpc.ServerStream }
type QueryWriteStatusRequest ¶
Request object for ByteStream.QueryWriteStatus.
type QueryWriteStatusRequest struct {
// The name of the resource whose write status is being requested.
ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"`
}
func (*QueryWriteStatusRequest) Descriptor ¶
func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int)
func (*QueryWriteStatusRequest) GetResourceName ¶
func (m *QueryWriteStatusRequest) GetResourceName() string
func (*QueryWriteStatusRequest) ProtoMessage ¶
func (*QueryWriteStatusRequest) ProtoMessage()
func (*QueryWriteStatusRequest) Reset ¶
func (m *QueryWriteStatusRequest) Reset()
func (*QueryWriteStatusRequest) String ¶
func (m *QueryWriteStatusRequest) String() string
type QueryWriteStatusResponse ¶
Response object for ByteStream.QueryWriteStatus.
type QueryWriteStatusResponse struct { // The number of bytes that have been processed for the given resource. CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize" json:"committed_size,omitempty"` // `complete` is `true` only if the client has sent a `WriteRequest` with // `finish_write` set to true, and the server has processed that request. Complete bool `protobuf:"varint,2,opt,name=complete" json:"complete,omitempty"` }
func (*QueryWriteStatusResponse) Descriptor ¶
func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int)
func (*QueryWriteStatusResponse) GetCommittedSize ¶
func (m *QueryWriteStatusResponse) GetCommittedSize() int64
func (*QueryWriteStatusResponse) GetComplete ¶
func (m *QueryWriteStatusResponse) GetComplete() bool
func (*QueryWriteStatusResponse) ProtoMessage ¶
func (*QueryWriteStatusResponse) ProtoMessage()
func (*QueryWriteStatusResponse) Reset ¶
func (m *QueryWriteStatusResponse) Reset()
func (*QueryWriteStatusResponse) String ¶
func (m *QueryWriteStatusResponse) String() string
type ReadRequest ¶
Request object for ByteStream.Read.
type ReadRequest struct { // The name of the resource to read. ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"` // The offset for the first byte to return in the read, relative to the start // of the resource. // // A `read_offset` that is negative or greater than the size of the resource // will cause an `OUT_OF_RANGE` error. ReadOffset int64 `protobuf:"varint,2,opt,name=read_offset,json=readOffset" json:"read_offset,omitempty"` // The maximum number of `data` bytes the server is allowed to return in the // sum of all `ReadResponse` messages. A `read_limit` of zero indicates that // there is no limit, and a negative `read_limit` will cause an error. // // If the stream returns fewer bytes than allowed by the `read_limit` and no // error occurred, the stream includes all data from the `read_offset` to the // end of the resource. ReadLimit int64 `protobuf:"varint,3,opt,name=read_limit,json=readLimit" json:"read_limit,omitempty"` }
func (*ReadRequest) Descriptor ¶
func (*ReadRequest) Descriptor() ([]byte, []int)
func (*ReadRequest) GetReadLimit ¶
func (m *ReadRequest) GetReadLimit() int64
func (*ReadRequest) GetReadOffset ¶
func (m *ReadRequest) GetReadOffset() int64
func (*ReadRequest) GetResourceName ¶
func (m *ReadRequest) GetResourceName() string
func (*ReadRequest) ProtoMessage ¶
func (*ReadRequest) ProtoMessage()
func (*ReadRequest) Reset ¶
func (m *ReadRequest) Reset()
func (*ReadRequest) String ¶
func (m *ReadRequest) String() string
type ReadResponse ¶
Response object for ByteStream.Read.
type ReadResponse struct { // A portion of the data for the resource. The service **may** leave `data` // empty for any given `ReadResponse`. This enables the service to inform the // client that the request is still live while it is running an operation to // generate more data. Data []byte `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` }
func (*ReadResponse) Descriptor ¶
func (*ReadResponse) Descriptor() ([]byte, []int)
func (*ReadResponse) GetData ¶
func (m *ReadResponse) GetData() []byte
func (*ReadResponse) ProtoMessage ¶
func (*ReadResponse) ProtoMessage()
func (*ReadResponse) Reset ¶
func (m *ReadResponse) Reset()
func (*ReadResponse) String ¶
func (m *ReadResponse) String() string
type WriteRequest ¶
Request object for ByteStream.Write.
type WriteRequest struct { // The name of the resource to write. This **must** be set on the first // `WriteRequest` of each `Write()` action. If it is set on subsequent calls, // it **must** match the value of the first request. ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"` // The offset from the beginning of the resource at which the data should be // written. It is required on all `WriteRequest`s. // // In the first `WriteRequest` of a `Write()` action, it indicates // the initial offset for the `Write()` call. The value **must** be equal to // the `committed_size` that a call to `QueryWriteStatus()` would return. // // On subsequent calls, this value **must** be set and **must** be equal to // the sum of the first `write_offset` and the sizes of all `data` bundles // sent previously on this stream. // // An incorrect value will cause an error. WriteOffset int64 `protobuf:"varint,2,opt,name=write_offset,json=writeOffset" json:"write_offset,omitempty"` // If `true`, this indicates that the write is complete. Sending any // `WriteRequest`s subsequent to one in which `finish_write` is `true` will // cause an error. FinishWrite bool `protobuf:"varint,3,opt,name=finish_write,json=finishWrite" json:"finish_write,omitempty"` // A portion of the data for the resource. The client **may** leave `data` // empty for any given `WriteRequest`. This enables the client to inform the // service that the request is still live while it is running an operation to // generate more data. Data []byte `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` }
func (*WriteRequest) Descriptor ¶
func (*WriteRequest) Descriptor() ([]byte, []int)
func (*WriteRequest) GetData ¶
func (m *WriteRequest) GetData() []byte
func (*WriteRequest) GetFinishWrite ¶
func (m *WriteRequest) GetFinishWrite() bool
func (*WriteRequest) GetResourceName ¶
func (m *WriteRequest) GetResourceName() string
func (*WriteRequest) GetWriteOffset ¶
func (m *WriteRequest) GetWriteOffset() int64
func (*WriteRequest) ProtoMessage ¶
func (*WriteRequest) ProtoMessage()
func (*WriteRequest) Reset ¶
func (m *WriteRequest) Reset()
func (*WriteRequest) String ¶
func (m *WriteRequest) String() string
type WriteResponse ¶
Response object for ByteStream.Write.
type WriteResponse struct {
// The number of bytes that have been processed for the given resource.
CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize" json:"committed_size,omitempty"`
}
func (*WriteResponse) Descriptor ¶
func (*WriteResponse) Descriptor() ([]byte, []int)
func (*WriteResponse) GetCommittedSize ¶
func (m *WriteResponse) GetCommittedSize() int64
func (*WriteResponse) ProtoMessage ¶
func (*WriteResponse) ProtoMessage()
func (*WriteResponse) Reset ¶
func (m *WriteResponse) Reset()
func (*WriteResponse) String ¶
func (m *WriteResponse) String() string