 Documentation
      ¶
      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.