Documentation
¶
Index ¶
- func AdaptRecvStream[T any](t RecvStream[T]) *rpc.Interface
- func AdaptSendStream[T any](t SendStream[T]) *rpc.Interface
- func ChanWriter[T any](ctx context.Context, rs *RecvStreamClient[T], ch chan<- T)
- func ReadStream[T any](fn func(T) error) *rpc.Interface
- func ToReader(ctx context.Context, x *RecvStreamClient[[]byte]) io.ReadCloser
- func ToWriter(ctx context.Context, x *SendStreamClient[[]byte]) io.WriteCloser
- type Receiver
- type RecvStream
- type RecvStreamClient
- type RecvStreamClientRecvResults
- type RecvStreamRecv
- type RecvStreamRecvArgs
- func (v *RecvStreamRecvArgs[T]) Count() int32
- func (v *RecvStreamRecvArgs[T]) HasCount() bool
- func (v *RecvStreamRecvArgs[T]) MarshalCBOR() ([]byte, error)
- func (v *RecvStreamRecvArgs[T]) MarshalJSON() ([]byte, error)
- func (v *RecvStreamRecvArgs[T]) UnmarshalCBOR(data []byte) error
- func (v *RecvStreamRecvArgs[T]) UnmarshalJSON(data []byte) error
- type RecvStreamRecvResults
- func (v *RecvStreamRecvResults[T]) MarshalCBOR() ([]byte, error)
- func (v *RecvStreamRecvResults[T]) MarshalJSON() ([]byte, error)
- func (v *RecvStreamRecvResults[T]) SetValue(value T)
- func (v *RecvStreamRecvResults[T]) UnmarshalCBOR(data []byte) error
- func (v *RecvStreamRecvResults[T]) UnmarshalJSON(data []byte) error
- type SendStream
- type SendStreamClient
- type SendStreamClientSendResults
- type SendStreamSend
- type SendStreamSendArgs
- func (v *SendStreamSendArgs[T]) HasValue() bool
- func (v *SendStreamSendArgs[T]) MarshalCBOR() ([]byte, error)
- func (v *SendStreamSendArgs[T]) MarshalJSON() ([]byte, error)
- func (v *SendStreamSendArgs[T]) UnmarshalCBOR(data []byte) error
- func (v *SendStreamSendArgs[T]) UnmarshalJSON(data []byte) error
- func (v *SendStreamSendArgs[T]) Value() T
- type SendStreamSendResults
- func (v *SendStreamSendResults[T]) MarshalCBOR() ([]byte, error)
- func (v *SendStreamSendResults[T]) MarshalJSON() ([]byte, error)
- func (v *SendStreamSendResults[T]) SetCount(count int32)
- func (v *SendStreamSendResults[T]) UnmarshalCBOR(data []byte) error
- func (v *SendStreamSendResults[T]) UnmarshalJSON(data []byte) error
- type Sender
- type ServeReaderOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdaptRecvStream ¶
func AdaptRecvStream[T any](t RecvStream[T]) *rpc.Interface
func AdaptSendStream ¶
func AdaptSendStream[T any](t SendStream[T]) *rpc.Interface
func ChanWriter ¶
func ChanWriter[T any](ctx context.Context, rs *RecvStreamClient[T], ch chan<- T)
func ToReader ¶
func ToReader(ctx context.Context, x *RecvStreamClient[[]byte]) io.ReadCloser
func ToWriter ¶
func ToWriter(ctx context.Context, x *SendStreamClient[[]byte]) io.WriteCloser
Types ¶
type RecvStream ¶
type RecvStream[T any] interface { Recv(ctx context.Context, state *RecvStreamRecv[T]) error }
func ChanReader ¶
func ChanReader[T any](ch <-chan T) RecvStream[T]
func ServeReader ¶
func ServeReader(ctx context.Context, r io.Reader, opts ...ServeReaderOption) RecvStream[[]byte]
type RecvStreamClient ¶
func NewRecvStreamClient ¶
func NewRecvStreamClient[T any](client rpc.Client) *RecvStreamClient[T]
func (RecvStreamClient[T]) Export ¶
func (c RecvStreamClient[T]) Export() RecvStream[T]
func (RecvStreamClient[T]) Recv ¶
func (v RecvStreamClient[T]) Recv(ctx context.Context, count int32) (*RecvStreamClientRecvResults[T], error)
type RecvStreamClientRecvResults ¶
type RecvStreamClientRecvResults[T any] struct { // contains filtered or unexported fields }
func (*RecvStreamClientRecvResults[T]) HasValue ¶
func (v *RecvStreamClientRecvResults[T]) HasValue() bool
func (*RecvStreamClientRecvResults[T]) Value ¶
func (v *RecvStreamClientRecvResults[T]) Value() T
type RecvStreamRecv ¶
func (*RecvStreamRecv[T]) Args ¶
func (t *RecvStreamRecv[T]) Args() *RecvStreamRecvArgs[T]
func (*RecvStreamRecv[T]) Results ¶
func (t *RecvStreamRecv[T]) Results() *RecvStreamRecvResults[T]
type RecvStreamRecvArgs ¶
type RecvStreamRecvArgs[T any] struct { // contains filtered or unexported fields }
func (*RecvStreamRecvArgs[T]) Count ¶
func (v *RecvStreamRecvArgs[T]) Count() int32
func (*RecvStreamRecvArgs[T]) HasCount ¶
func (v *RecvStreamRecvArgs[T]) HasCount() bool
func (*RecvStreamRecvArgs[T]) MarshalCBOR ¶
func (v *RecvStreamRecvArgs[T]) MarshalCBOR() ([]byte, error)
func (*RecvStreamRecvArgs[T]) MarshalJSON ¶
func (v *RecvStreamRecvArgs[T]) MarshalJSON() ([]byte, error)
func (*RecvStreamRecvArgs[T]) UnmarshalCBOR ¶
func (v *RecvStreamRecvArgs[T]) UnmarshalCBOR(data []byte) error
func (*RecvStreamRecvArgs[T]) UnmarshalJSON ¶
func (v *RecvStreamRecvArgs[T]) UnmarshalJSON(data []byte) error
type RecvStreamRecvResults ¶
type RecvStreamRecvResults[T any] struct { // contains filtered or unexported fields }
func (*RecvStreamRecvResults[T]) MarshalCBOR ¶
func (v *RecvStreamRecvResults[T]) MarshalCBOR() ([]byte, error)
func (*RecvStreamRecvResults[T]) MarshalJSON ¶
func (v *RecvStreamRecvResults[T]) MarshalJSON() ([]byte, error)
func (*RecvStreamRecvResults[T]) SetValue ¶
func (v *RecvStreamRecvResults[T]) SetValue(value T)
func (*RecvStreamRecvResults[T]) UnmarshalCBOR ¶
func (v *RecvStreamRecvResults[T]) UnmarshalCBOR(data []byte) error
func (*RecvStreamRecvResults[T]) UnmarshalJSON ¶
func (v *RecvStreamRecvResults[T]) UnmarshalJSON(data []byte) error
type SendStream ¶
type SendStream[T any] interface { Send(ctx context.Context, state *SendStreamSend[T]) error }
func Callback ¶
func Callback[T any](f func(T) error) SendStream[T]
func ServeWriter ¶
func StreamRecv ¶
func StreamRecv[T any](fn func(T) error) SendStream[T]
type SendStreamClient ¶
func NewSendStreamClient ¶
func NewSendStreamClient[T any](client rpc.Client) *SendStreamClient[T]
func (SendStreamClient[T]) Export ¶
func (c SendStreamClient[T]) Export() SendStream[T]
func (SendStreamClient[T]) Send ¶
func (v SendStreamClient[T]) Send(ctx context.Context, value T) (*SendStreamClientSendResults[T], error)
type SendStreamClientSendResults ¶
type SendStreamClientSendResults[T any] struct { // contains filtered or unexported fields }
func (*SendStreamClientSendResults[T]) Count ¶
func (v *SendStreamClientSendResults[T]) Count() int32
func (*SendStreamClientSendResults[T]) HasCount ¶
func (v *SendStreamClientSendResults[T]) HasCount() bool
type SendStreamSend ¶
func (*SendStreamSend[T]) Args ¶
func (t *SendStreamSend[T]) Args() *SendStreamSendArgs[T]
func (*SendStreamSend[T]) Results ¶
func (t *SendStreamSend[T]) Results() *SendStreamSendResults[T]
type SendStreamSendArgs ¶
type SendStreamSendArgs[T any] struct { // contains filtered or unexported fields }
func (*SendStreamSendArgs[T]) HasValue ¶
func (v *SendStreamSendArgs[T]) HasValue() bool
func (*SendStreamSendArgs[T]) MarshalCBOR ¶
func (v *SendStreamSendArgs[T]) MarshalCBOR() ([]byte, error)
func (*SendStreamSendArgs[T]) MarshalJSON ¶
func (v *SendStreamSendArgs[T]) MarshalJSON() ([]byte, error)
func (*SendStreamSendArgs[T]) UnmarshalCBOR ¶
func (v *SendStreamSendArgs[T]) UnmarshalCBOR(data []byte) error
func (*SendStreamSendArgs[T]) UnmarshalJSON ¶
func (v *SendStreamSendArgs[T]) UnmarshalJSON(data []byte) error
func (*SendStreamSendArgs[T]) Value ¶
func (v *SendStreamSendArgs[T]) Value() T
type SendStreamSendResults ¶
type SendStreamSendResults[T any] struct { // contains filtered or unexported fields }
func (*SendStreamSendResults[T]) MarshalCBOR ¶
func (v *SendStreamSendResults[T]) MarshalCBOR() ([]byte, error)
func (*SendStreamSendResults[T]) MarshalJSON ¶
func (v *SendStreamSendResults[T]) MarshalJSON() ([]byte, error)
func (*SendStreamSendResults[T]) SetCount ¶
func (v *SendStreamSendResults[T]) SetCount(count int32)
func (*SendStreamSendResults[T]) UnmarshalCBOR ¶
func (v *SendStreamSendResults[T]) UnmarshalCBOR(data []byte) error
func (*SendStreamSendResults[T]) UnmarshalJSON ¶
func (v *SendStreamSendResults[T]) UnmarshalJSON(data []byte) error
type Sender ¶
type Sender[T any] struct { // contains filtered or unexported fields }
func ClientSend ¶
func ClientSend[T any](c *rpc.NetworkClient) (*Sender[T], error)
type ServeReaderOption ¶ added in v0.8.0
type ServeReaderOption func(*serveReader)
ServeReaderOption configures a ServeReader. The zero-config default is streaming: each underlying Read becomes one Recv response so callers like interactive stdin pipes don't wait for a buffer to fill.
func WithBulkBatching ¶ added in v0.8.0
func WithBulkBatching() ServeReaderOption
WithBulkBatching tells the ServeReader to wait until at least bulkBatchSize bytes are available before responding to a Recv (or until EOF). Use for bulk transfers where the round-trip per chunk is the bottleneck, like shipping a deploy tarball. Must NOT be used for interactive streams — it would stall every key the user types until the buffer fills.
Click to show internal directories.
Click to hide internal directories.