Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDisposed = errors.New("batcher: disposed")
ErrDisposed is the error returned for a disposed Batcher
Functions ¶
This section is empty.
Types ¶
type Batcher ¶
type Batcher interface {
// Put adds items to the batcher.
Put(interface{}) error
// Get retrieves a batch from the batcher. This call will block until
// one of the conditions for a "complete" batch is reached.
Get() ([]interface{}, error)
// Flush forcibly completes the batch currently being built
Flush() error
// Dispose will dispose of the batcher. Any calls to Put or Flush
// will return ErrDisposed, calls to Get will return an error iff
// there are no more ready batches.
Dispose()
// IsDisposed will determine if the batcher is disposed
IsDisposed() bool
}
Batcher provides an API for accumulating items into a batch for processing.
func New ¶
func New(maxTime time.Duration, maxItems, maxBytes, queueLen uint, calculate CalculateBytes) (Batcher, error)
New creates a new Batcher using the provided arguments. Batch readiness can be determined in three ways:
- Maximum number of bytes per batch
- Maximum number of items per batch
- Maximum amount of time waiting for a batch
Values of zero for one of these fields indicate they should not be taken into account when evaluating the readiness of a batch.
type CalculateBytes ¶
type CalculateBytes func(interface{}) uint
CalculateBytes evaluates the number of bytes in an item added to a Batcher.
Click to show internal directories.
Click to hide internal directories.