Documentation ¶
Index ¶
- Constants
- Variables
- func CopyMux(outputs map[string]zio.WriteCloser, parent Puller) error
- func CopyPuller(w zio.Writer, p Puller) error
- func CopyVars(b Batch) []zed.Value
- func NamedScanner(s Scanner, name string) *namedScanner
- func NewComparator(zctx *zed.Context, sortKeys []order.SortKey) *expr.Comparator
- func NewComparatorNullsMax(zctx *zed.Context, sortKeys order.SortKeys) *expr.Comparator
- func PullerReader(p Puller) zio.Reader
- func WriteBatch(zw zio.Writer, batch Batch) error
- type Array
- type Batch
- type Control
- type EndOfChannel
- type File
- type Filter
- type Meter
- type MultiStats
- type Progress
- type Puller
- type Scanner
- type ScannerAble
Constants ¶
const PullerBatchBytes = 512 * 1024
PullerBatchBytes is the maximum number of bytes (in the zed.Value.Byte sense) per batch for a Puller created by NewPuller.
Variables ¶
var PullerBatchValues = 100
PullerBatchValues is the maximum number of values per batch for a Puller created by NewPuller.
Functions ¶
func CopyMux ¶ added in v1.18.0
func CopyMux(outputs map[string]zio.WriteCloser, parent Puller) error
func NamedScanner ¶
func NewComparator ¶ added in v1.0.0
func NewComparatorNullsMax ¶ added in v1.6.0
func PullerReader ¶
Types ¶
type Array ¶
type Array struct {
// contains filtered or unexported fields
}
Array is a slice of of records that implements the Batch and the Reader interfaces.
func NewArray ¶ added in v1.0.0
XXX this should take the frame arg too and the procs that create new arrays need to propagate their frames downstream.
type Batch ¶
type Batch interface { Ref() Unref() Values() []zed.Value // Vars accesses the variables reachable in the current scope. Vars() []zed.Value }
Batch is an interface to a bundle of values. Reference counting allows efficient, safe reuse in concert with sharing across goroutines.
A newly obtained Batch always has a reference count of one. The Batch owns its values and their storage, and an implementation may reuse this memory when the reference count falls to zero, reducing load on the garbage collector.
To promote reuse, a goroutine should release a Batch reference when possible, but care must be taken to avoid race conditions that arise from releasing a reference too soon. Specifically, a goroutine obtaining a value from a Batch must retain its Batch reference for as long as it retains the value, and the goroutine must not use the value after releasing its reference.
Regardless of reference count or implementation, an unreachable Batch will eventually be reclaimed by the garbage collector.
type EndOfChannel ¶ added in v1.18.0
type EndOfChannel string
EndOfChannel is an empty batch that represents the termination of one of the output paths of a muxed flowgraph and thus will be ignored downstream unless explicitly detected.
func (*EndOfChannel) Ref ¶ added in v1.18.0
func (*EndOfChannel) Ref()
func (*EndOfChannel) Unref ¶ added in v1.18.0
func (*EndOfChannel) Unref()
func (*EndOfChannel) Values ¶ added in v1.18.0
func (*EndOfChannel) Values() []zed.Value
func (*EndOfChannel) Vars ¶ added in v1.18.0
func (*EndOfChannel) Vars() []zed.Value
type Meter ¶ added in v1.0.0
type Meter interface {
Progress() Progress
}
A Meter provides Progress statistics.
type MultiStats ¶
type MultiStats []Scanner
func (MultiStats) Progress ¶ added in v1.0.0
func (m MultiStats) Progress() Progress
type Progress ¶ added in v1.0.0
type Progress struct { BytesRead int64 `zed:"bytes_read" json:"bytes_read"` BytesMatched int64 `zed:"bytes_matched" json:"bytes_matched"` RecordsRead int64 `zed:"records_read" json:"records_read"` RecordsMatched int64 `zed:"records_matched" json:"records_matched"` }
Progress represents progress statistics from a Scanner.
type Puller ¶
A Puller produces Batches of records, signaling end-of-stream (EOS) by returning a nil Batch and nil error. The done argument to Pull indicates that the stream should be terminated before its natural EOS. An implementation must return EOS in response to a Pull call when the done parameter is true. After seeing EOS, (either via done or its natural end), an implementation of an operator that processes pulled data should respond to additional calls to Pull as if restarting in its initial state. For original sources of data (e.g., the from operator), once EOS is reached, additional calls to Pull after the first EOS should always return EOS. Pull is not safe to call concurrently.
func NewPuller ¶
NewPuller returns a puller for zr that returns batches containing up to PullerBatchBytes bytes and PullerBatchValues values.
type Scanner ¶
A Scanner is a Batch source that also provides progress updates.