Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrBufferFull is returned when the buffer is full. ErrBufferFull = errors.New("buffer full") )
Functions ¶
Types ¶
type OnFullStrategy ¶
type OnFullStrategy string
OnFullStrategy defines the buffer behavior when the buffer is full.
const ( // ReturnError means an error will be returned // on new buffer requests when the buffer is full. ReturnError OnFullStrategy = "returnError" // DropOldest means the oldest message in the buffer // will be dropped to make room for new buffer requests // when the buffer is full. DropOldest OnFullStrategy = "dropOldest" )
func (*OnFullStrategy) UnmarshalYAML ¶
func (t *OnFullStrategy) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals OnFullStrategy from yaml.
type Options ¶
type Options interface {
// OnFullStrategy returns the strategy when buffer is full.
OnFullStrategy() OnFullStrategy
// SetOnFullStrategy sets the strategy when buffer is full.
SetOnFullStrategy(value OnFullStrategy) Options
// MaxMessageSize returns the max message size.
MaxMessageSize() int
// SetMaxMessageSize sets the max message size.
SetMaxMessageSize(value int) Options
// MaxBufferSize returns the max buffer size.
MaxBufferSize() int
// SetMaxBufferSize sets the max buffer size.
SetMaxBufferSize(value int) Options
// CloseCheckInterval returns the close check interval.
CloseCheckInterval() time.Duration
// SetCloseCheckInterval sets the close check interval.
SetCloseCheckInterval(value time.Duration) Options
// DropOldestInterval returns the interval to drop oldest buffer.
// The max buffer size might be spilled over during the interval.
DropOldestInterval() time.Duration
// SetDropOldestInterval sets the interval to drop oldest buffer.
// The max buffer size might be spilled over during the interval.
SetDropOldestInterval(value time.Duration) Options
// ScanBatchSize returns the scan batch size.
ScanBatchSize() int
// SetScanBatchSize sets the scan batch size.
SetScanBatchSize(value int) Options
// AllowedSpilloverRatio returns the ratio for allowed buffer spill over,
// below which the buffer will drop oldest messages asynchronizely for
// better performance. When the limit for allowed spill over is reached,
// the buffer will start to drop oldest messages synchronizely.
AllowedSpilloverRatio() float64
// SetAllowedSpilloverRatio sets the ratio for allowed buffer spill over.
SetAllowedSpilloverRatio(value float64) Options
// CleanupRetryOptions returns the cleanup retry options.
CleanupRetryOptions() retry.Options
// SetCleanupRetryOptions sets the cleanup retry options.
SetCleanupRetryOptions(value retry.Options) Options
// InstrumentOptions returns the instrument options.
InstrumentOptions() instrument.Options
// SetInstrumentOptions sets the instrument options.
SetInstrumentOptions(value instrument.Options) Options
// Validate validates the options.
Validate() error
}
Options configs the buffer.
Click to show internal directories.
Click to hide internal directories.