Documentation ¶
Index ¶
- Constants
- type Cache
- type CircuitBreaker
- type Error
- type ErrorHandler
- type FallbackPolicy
- type ICircuitBreaker
- type IErrorHandler
- type IFactory
- type ILogger
- type ISink
- type ISource
- type IStage
- type IStages
- type Logger
- func (logger *Logger) Append(parcel *Parcel, fn func())
- func (logger *Logger) Debug(stage *Stage, args ...interface{})
- func (logger *Logger) EnqueueDebug(stage *Stage, parcel *Parcel, args ...interface{})
- func (logger *Logger) EnqueueError(stage *Stage, parcel *Parcel, args ...interface{})
- func (logger *Logger) EnqueueInformation(stage *Stage, parcel *Parcel, args ...interface{})
- func (logger *Logger) EnqueueWarning(stage *Stage, parcel *Parcel, args ...interface{})
- func (logger *Logger) Error(stage *Stage, args ...interface{})
- func (logger *Logger) Information(stage *Stage, args ...interface{})
- func (logger *Logger) Warning(stage *Stage, args ...interface{})
- type Options
- type Parcel
- type Process
- type Runner
- type Signal
- type Stage
- type Unpack
Constants ¶
View Source
const ( DefaultScale = 1 DefaultBufferSize = 10 MaxScale = 10000 MaxBufferSize = 10000 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
cmap.ConcurrentMap
}
type CircuitBreaker ¶
type CircuitBreaker struct { Enabled bool NumberOfRetries int Policy FallbackPolicy Interval time.Duration }
func (*CircuitBreaker) Execute ¶
func (breaker *CircuitBreaker) Execute(stage *Stage, parcel *Parcel) interface{}
func (*CircuitBreaker) NewBackoffTimer ¶
func (breaker *CircuitBreaker) NewBackoffTimer(circuit int) *time.Timer
type ErrorHandler ¶
type ErrorHandler struct {
Logger ILogger
}
type ICircuitBreaker ¶
func NewDefeaultCircuitBreaker ¶
func NewDefeaultCircuitBreaker() ICircuitBreaker
type IErrorHandler ¶
func NewDefaultErrorHandler ¶
func NewDefaultErrorHandler(logger ILogger) IErrorHandler
type ILogger ¶
type ILogger interface { Warning(stage *Stage, args ...interface{}) Error(stage *Stage, args ...interface{}) Information(stage *Stage, args ...interface{}) Debug(stage *Stage, args ...interface{}) EnqueueWarning(stage *Stage, parcel *Parcel, args ...interface{}) EnqueueError(stage *Stage, parcel *Parcel, args ...interface{}) EnqueueInformation(stage *Stage, parcel *Parcel, args ...interface{}) EnqueueDebug(stage *Stage, parcel *Parcel, args ...interface{}) // contains filtered or unexported methods }
func NewDefaultLogger ¶
func NewDefaultLogger() ILogger
type IStage ¶
type IStage interface { AddStage(stage *Stage) IStage AddSink(stage *Stage) ISink Fanout(stages ...*Stage) IStages }
Single/Fanin segment
type IStages ¶
type IStages interface { AddStages(stages ...*Stage) IStages AddSinks(stages ...*Stage) ISink Fanin(stage *Stage) IStage }
Fanout Intermediary segment
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
func (*Logger) EnqueueDebug ¶
func (*Logger) EnqueueError ¶
func (*Logger) EnqueueInformation ¶
func (*Logger) EnqueueWarning ¶
func (*Logger) Information ¶
type Options ¶
type Options struct { Name string CircuitBreaker ICircuitBreaker Logger ILogger ErrorHandler IErrorHandler }
func NewDefaultOptions ¶
func NewDefaultOptions() *Options
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func JoinRunners ¶
JoinRunners block and awaits all runners
func StartFactories ¶
StartFactories dispatch alle factories using a single cancellation context.
type Stage ¶
type Stage struct { Name string MaxScale uint BufferSize uint Init func(cache *Cache) Process Process Dispose func(cache *Cache) CircuitBreaker ICircuitBreaker ErrorHandler IErrorHandler // contains filtered or unexported fields }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.