stream

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

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 ReadStream

func ReadStream[T any](fn func(T) error) *rpc.Interface

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 Receiver

type Receiver[T any] struct {
	// contains filtered or unexported fields
}

func (*Receiver[T]) Send

func (r *Receiver[T]) Send(ctx context.Context, state *SendStreamSend[T]) error

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

type RecvStreamClient[T any] struct {
	rpc.Client
}

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

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

type RecvStreamRecv[T any] struct {
	rpc.Call
	// contains filtered or unexported fields
}

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 ServeWriter(ctx context.Context, w io.Writer) SendStream[[]byte]

func StreamRecv

func StreamRecv[T any](fn func(T) error) SendStream[T]

type SendStreamClient

type SendStreamClient[T any] struct {
	rpc.Client
}

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

type SendStreamSend[T any] struct {
	rpc.Call
	// contains filtered or unexported fields
}

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)

func (*Sender[T]) Send

func (s *Sender[T]) Send(ctx context.Context, value 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL