Versions in this module Expand all Collapse all v0 v0.5.1 Feb 26, 2020 Changes in this version + const DefaultReadBufferExpiryInterval + const DefaultReadBufferGCInterval + const DefaultWorkerTimeout + const DefaultWriteBufferExpiryInterval + const DefaultWriteBufferGCInterval + var ErrWorkerPoolExiting = errors.New("worker pool exiting") + type Read struct + func NewRead(readBufferPool *ReadBuffer, numWorkers int, workerTimeout time.Duration) *Read + func (r *Read) Start() error + func (r *Read) Stop() error + func (r *Read) Submit(inner func(*buffer.Read) error) error + type ReadBuffer struct + func NewReadBuffer(gcInterval, expiryInterval time.Duration) *ReadBuffer + func (p *ReadBuffer) Return(buf *buffer.Read) + func (p *ReadBuffer) Take() *buffer.Read + type Recycle struct + func NewRecycle(newItem func() interface{}, returnQueueSize int, ...) *Recycle + func (r *Recycle) Return(item Recycler) + func (r *Recycle) Take() interface{} + type Recycler interface + Recycle func() + type Worker struct + func NewWorker(cfg *WorkerConfig) *Worker + func (w *Worker) Start() error + func (w *Worker) Stop() error + func (w *Worker) Submit(fn func(WorkerState) error) error + type WorkerConfig struct + NewWorkerState func() WorkerState + NumWorkers int + WorkerTimeout time.Duration + type WorkerState interface + Cleanup func() + Reset func() + type Write struct + func NewWrite(writeBufferPool *WriteBuffer, numWorkers int, workerTimeout time.Duration) *Write + func (w *Write) Start() error + func (w *Write) Stop() error + func (w *Write) Submit(inner func(*bytes.Buffer) error) error + type WriteBuffer struct + func NewWriteBuffer(gcInterval, expiryInterval time.Duration) *WriteBuffer + func (p *WriteBuffer) Return(buf *buffer.Write) + func (p *WriteBuffer) Take() *buffer.Write