Documentation ¶
Overview ¶
Package stream provides functions to send or receive messages using a grpc stream.
Index ¶
- Constants
- func CloseSend(s Sender) error
- func RecvAll(r Receiver, out interface{}) error
- func SendAll(s Sender, in interface{}) error
- func SendAndRecvAll(sr SendReceiver, in interface{}, out interface{}) error
- type Buffer
- type Receiver
- type SendCloser
- type SendReceiver
- type Sender
- type Stream
- type WrappedStream
Constants ¶
const ErrInvalidProtoMessage err = "not a proto message"
ErrInvalidProtoMessage indicates that the object is not a proto message.
Variables ¶
This section is empty.
Functions ¶
func SendAndRecvAll ¶
func SendAndRecvAll(sr SendReceiver, in interface{}, out interface{}) error
SendAndRecvAll sends and receives messages until getting io.EOF.
Types ¶
type Buffer ¶
type Buffer struct {
// contains filtered or unexported fields
}
Buffer is a buffer of sending and receiving messages.
type Receiver ¶
type Receiver interface {
RecvMsg(m interface{}) error
}
Receiver is an interface wrapper around grpc.ClientStream and grpc.ServerStream.
func TeeReceiver ¶
TeeReceiver returns a Receiver that sends to s what it receives from r.
type SendCloser ¶
SendCloser is an interface wrapper around grpc.ClientStream.
type SendReceiver ¶
SendReceiver is an interface wrapper around grpc.ClientStream and grpc.ServerStream.
type Sender ¶
type Sender interface {
SendMsg(m interface{}) error
}
Sender is an interface wrapper around grpc.ClientStream and grpc.ServerStream.
type Stream ¶
type Stream interface { Context() context.Context SetHeader(metadata.MD) error SendHeader(metadata.MD) error SetTrailer(metadata.MD) SendReceiver }
Stream is an interface wrapper around grpc.ClientStream and grpc.ServerStream.
type WrappedStream ¶
type WrappedStream struct { Stream // contains filtered or unexported fields }
WrappedStream is a wrapper around the Stream.
func (*WrappedStream) RecvMsg ¶
func (s *WrappedStream) RecvMsg(m interface{}) error
RecvMsg satisfies Stream interface.
func (*WrappedStream) SendMsg ¶
func (s *WrappedStream) SendMsg(m interface{}) error
SendMsg satisfies Stream interface.
func (*WrappedStream) WithReceiver ¶
func (s *WrappedStream) WithReceiver(rc Receiver) *WrappedStream
WithReceiver wraps the stream with a new sender.
func (*WrappedStream) WithSender ¶
func (s *WrappedStream) WithSender(sd Sender) *WrappedStream
WithSender wraps the stream with a new sender.