# Packages
Package parallel contains implementations of various buffer types where the buffer can be consumed by any number of parallel consumer threads.
Package single contains implementations of various buffer types where the buffer can only be consumed by a single thread (but any number of writers).
# Functions
Descriptions returns a formatted string of collated descriptions of each type.
New creates a buffer type based on a buffer configuration.
NewConfig returns a configuration struct fully populated with default values.
NewEmpty creates a new buffer interface but doesn't buffer messages.
NewMemory creates a buffer held in memory.
NewMemoryConfig creates a new MemoryConfig with default values.
NewParallelBatcher creates a new Producer/Consumer around a buffer.
NewParallelWrapper creates a new Producer/Consumer around a buffer.
NewSingleWrapper creates a new Producer/Consumer around a buffer.
SanitiseConfig returns a sanitised version of the Config, meaning sections that aren't relevant to behaviour are removed.
WalkConstructors iterates each component constructor.
# Constants
String constants representing each buffer type.
String constants representing each buffer type.
# Variables
Constructors is a map of all buffer types with their specs.
# Structs
Config is the all encompassing configuration struct for all buffer types.
Empty is an empty buffer, simply forwards messages on directly.
EnabledBatchPolicyConfig is a batch.PolicyConfig with an enable field.
MemoryConfig is config values for a purely memory based ring buffer type.
ParallelBatcher wraps a buffer with a Producer/Consumer interface.
ParallelWrapper wraps a buffer with a Producer/Consumer interface.
SingleWrapper wraps a buffer with a Producer/Consumer interface.
TypeSpec is a constructor and usage description for each buffer type.
# Interfaces
Parallel represents a method of buffering messages such that they can be consumed by any number of parallel consumers, and can be acknowledged in any order.
Single represents a method of buffering sequential messages, supporting only a single, sequential consumer.
Type is an interface implemented by all buffer types.
# Type aliases
ConstructorFunc is a func signature able to construct a buffer.