Versions in this module Expand all Collapse all v0 v0.1.0 Aug 30, 2026 Changes in this version + var ErrClosed = errors.New("stream closed") + var ErrSourceAlreadySet = errors.New("stream source already set") + type Channel struct + func NewChannel[T any](capacity int) *Channel[T] + func (c *Channel[T]) Abort(err error) error + func (c *Channel[T]) Cap() int + func (c *Channel[T]) Close() error + func (c *Channel[T]) Closed() bool + func (c *Channel[T]) Len() int + func (c *Channel[T]) Range(ctx context.Context) iter.Seq2[T, error] + func (c *Channel[T]) Recv(ctx context.Context) (T, error) + func (c *Channel[T]) Send(ctx context.Context, value T) error + func (c *Channel[T]) TryRecv() (value T, ok bool, err error) + func (c *Channel[T]) TrySend(value T) bool + type Deferred struct + func NewDeferred[T any](capacity int) *Deferred[T] + func (d *Deferred[T]) Detach(cause error) + func (d *Deferred[T]) Recv(ctx context.Context) (T, error) + func (d *Deferred[T]) SetSource(parent context.Context, source Reader[T]) error + func (d *Deferred[T]) Wait() + type MultiInput struct + func NewMultiInput[T any](parent context.Context, capacity int, onError func(string, error)) *MultiInput[T] + func (m *MultiInput[T]) Add(source Reader[T]) (string, error) + func (m *MultiInput[T]) Close() error + func (m *MultiInput[T]) InputCount() int + func (m *MultiInput[T]) Recv(ctx context.Context) (T, error) + func (m *MultiInput[T]) Remove(id string) + type Reader interface + Recv func(context.Context) (T, error) + type SliceReader struct + func FromSlice[T any](values []T) *SliceReader[T] + func (r *SliceReader[T]) Recv(ctx context.Context) (T, error) + type Writer interface + Abort func(error) error + Close func() error + Send func(context.Context, T) error