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.
