summaryrefslogtreecommitdiff
path: root/vendor/google.golang.org/grpc/stream_interfaces.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/grpc/stream_interfaces.go')
-rw-r--r--vendor/google.golang.org/grpc/stream_interfaces.go238
1 files changed, 0 insertions, 238 deletions
diff --git a/vendor/google.golang.org/grpc/stream_interfaces.go b/vendor/google.golang.org/grpc/stream_interfaces.go
deleted file mode 100644
index 0037fee0b..000000000
--- a/vendor/google.golang.org/grpc/stream_interfaces.go
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- *
- * Copyright 2024 gRPC authors.
- *
- * 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.
- *
- */
-
-package grpc
-
-// ServerStreamingClient represents the client side of a server-streaming (one
-// request, many responses) RPC. It is generic over the type of the response
-// message. It is used in generated code.
-type ServerStreamingClient[Res any] interface {
- // Recv receives the next response message from the server. The client may
- // repeatedly call Recv to read messages from the response stream. If
- // io.EOF is returned, the stream has terminated with an OK status. Any
- // other error is compatible with the status package and indicates the
- // RPC's status code and message.
- Recv() (*Res, error)
-
- // ClientStream is embedded to provide Context, Header, and Trailer
- // functionality. No other methods in the ClientStream should be called
- // directly.
- ClientStream
-}
-
-// ServerStreamingServer represents the server side of a server-streaming (one
-// request, many responses) RPC. It is generic over the type of the response
-// message. It is used in generated code.
-//
-// To terminate the response stream, return from the handler method and return
-// an error from the status package, or use nil to indicate an OK status code.
-type ServerStreamingServer[Res any] interface {
- // Send sends a response message to the client. The server handler may
- // call Send multiple times to send multiple messages to the client. An
- // error is returned if the stream was terminated unexpectedly, and the
- // handler method should return, as the stream is no longer usable.
- Send(*Res) error
-
- // ServerStream is embedded to provide Context, SetHeader, SendHeader, and
- // SetTrailer functionality. No other methods in the ServerStream should
- // be called directly.
- ServerStream
-}
-
-// ClientStreamingClient represents the client side of a client-streaming (many
-// requests, one response) RPC. It is generic over both the type of the request
-// message stream and the type of the unary response message. It is used in
-// generated code.
-type ClientStreamingClient[Req any, Res any] interface {
- // Send sends a request message to the server. The client may call Send
- // multiple times to send multiple messages to the server. On error, Send
- // aborts the stream. If the error was generated by the client, the status
- // is returned directly. Otherwise, io.EOF is returned, and the status of
- // the stream may be discovered using CloseAndRecv().
- Send(*Req) error
-
- // CloseAndRecv closes the request stream and waits for the server's
- // response. This method must be called once and only once after sending
- // all request messages. Any error returned is implemented by the status
- // package.
- CloseAndRecv() (*Res, error)
-
- // ClientStream is embedded to provide Context, Header, and Trailer
- // functionality. No other methods in the ClientStream should be called
- // directly.
- ClientStream
-}
-
-// ClientStreamingServer represents the server side of a client-streaming (many
-// requests, one response) RPC. It is generic over both the type of the request
-// message stream and the type of the unary response message. It is used in
-// generated code.
-//
-// To terminate the RPC, call SendAndClose and return nil from the method
-// handler or do not call SendAndClose and return an error from the status
-// package.
-type ClientStreamingServer[Req any, Res any] interface {
- // Recv receives the next request message from the client. The server may
- // repeatedly call Recv to read messages from the request stream. If
- // io.EOF is returned, it indicates the client called CloseAndRecv on its
- // ClientStreamingClient. Any other error indicates the stream was
- // terminated unexpectedly, and the handler method should return, as the
- // stream is no longer usable.
- Recv() (*Req, error)
-
- // SendAndClose sends a single response message to the client and closes
- // the stream. This method must be called once and only once after all
- // request messages have been processed. Recv should not be called after
- // calling SendAndClose.
- SendAndClose(*Res) error
-
- // ServerStream is embedded to provide Context, SetHeader, SendHeader, and
- // SetTrailer functionality. No other methods in the ServerStream should
- // be called directly.
- ServerStream
-}
-
-// BidiStreamingClient represents the client side of a bidirectional-streaming
-// (many requests, many responses) RPC. It is generic over both the type of the
-// request message stream and the type of the response message stream. It is
-// used in generated code.
-type BidiStreamingClient[Req any, Res any] interface {
- // Send sends a request message to the server. The client may call Send
- // multiple times to send multiple messages to the server. On error, Send
- // aborts the stream. If the error was generated by the client, the status
- // is returned directly. Otherwise, io.EOF is returned, and the status of
- // the stream may be discovered using Recv().
- Send(*Req) error
-
- // Recv receives the next response message from the server. The client may
- // repeatedly call Recv to read messages from the response stream. If
- // io.EOF is returned, the stream has terminated with an OK status. Any
- // other error is compatible with the status package and indicates the
- // RPC's status code and message.
- Recv() (*Res, error)
-
- // ClientStream is embedded to provide Context, Header, Trailer, and
- // CloseSend functionality. No other methods in the ClientStream should be
- // called directly.
- ClientStream
-}
-
-// BidiStreamingServer represents the server side of a bidirectional-streaming
-// (many requests, many responses) RPC. It is generic over both the type of the
-// request message stream and the type of the response message stream. It is
-// used in generated code.
-//
-// To terminate the stream, return from the handler method and return
-// an error from the status package, or use nil to indicate an OK status code.
-type BidiStreamingServer[Req any, Res any] interface {
- // Recv receives the next request message from the client. The server may
- // repeatedly call Recv to read messages from the request stream. If
- // io.EOF is returned, it indicates the client called CloseSend on its
- // BidiStreamingClient. Any other error indicates the stream was
- // terminated unexpectedly, and the handler method should return, as the
- // stream is no longer usable.
- Recv() (*Req, error)
-
- // Send sends a response message to the client. The server handler may
- // call Send multiple times to send multiple messages to the client. An
- // error is returned if the stream was terminated unexpectedly, and the
- // handler method should return, as the stream is no longer usable.
- Send(*Res) error
-
- // ServerStream is embedded to provide Context, SetHeader, SendHeader, and
- // SetTrailer functionality. No other methods in the ServerStream should
- // be called directly.
- ServerStream
-}
-
-// GenericClientStream implements the ServerStreamingClient, ClientStreamingClient,
-// and BidiStreamingClient interfaces. It is used in generated code.
-type GenericClientStream[Req any, Res any] struct {
- ClientStream
-}
-
-var _ ServerStreamingClient[string] = (*GenericClientStream[int, string])(nil)
-var _ ClientStreamingClient[int, string] = (*GenericClientStream[int, string])(nil)
-var _ BidiStreamingClient[int, string] = (*GenericClientStream[int, string])(nil)
-
-// Send pushes one message into the stream of requests to be consumed by the
-// server. The type of message which can be sent is determined by the Req type
-// parameter of the GenericClientStream receiver.
-func (x *GenericClientStream[Req, Res]) Send(m *Req) error {
- return x.ClientStream.SendMsg(m)
-}
-
-// Recv reads one message from the stream of responses generated by the server.
-// The type of the message returned is determined by the Res type parameter
-// of the GenericClientStream receiver.
-func (x *GenericClientStream[Req, Res]) Recv() (*Res, error) {
- m := new(Res)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-// CloseAndRecv closes the sending side of the stream, then receives the unary
-// response from the server. The type of message which it returns is determined
-// by the Res type parameter of the GenericClientStream receiver.
-func (x *GenericClientStream[Req, Res]) CloseAndRecv() (*Res, error) {
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- m := new(Res)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}
-
-// GenericServerStream implements the ServerStreamingServer, ClientStreamingServer,
-// and BidiStreamingServer interfaces. It is used in generated code.
-type GenericServerStream[Req any, Res any] struct {
- ServerStream
-}
-
-var _ ServerStreamingServer[string] = (*GenericServerStream[int, string])(nil)
-var _ ClientStreamingServer[int, string] = (*GenericServerStream[int, string])(nil)
-var _ BidiStreamingServer[int, string] = (*GenericServerStream[int, string])(nil)
-
-// Send pushes one message into the stream of responses to be consumed by the
-// client. The type of message which can be sent is determined by the Res
-// type parameter of the serverStreamServer receiver.
-func (x *GenericServerStream[Req, Res]) Send(m *Res) error {
- return x.ServerStream.SendMsg(m)
-}
-
-// SendAndClose pushes the unary response to the client. The type of message
-// which can be sent is determined by the Res type parameter of the
-// clientStreamServer receiver.
-func (x *GenericServerStream[Req, Res]) SendAndClose(m *Res) error {
- return x.ServerStream.SendMsg(m)
-}
-
-// Recv reads one message from the stream of requests generated by the client.
-// The type of the message returned is determined by the Req type parameter
-// of the clientStreamServer receiver.
-func (x *GenericServerStream[Req, Res]) Recv() (*Req, error) {
- m := new(Req)
- if err := x.ServerStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
-}