Documentation
      ¶
    
    
  
    
  
    Index ¶
- func BoolCaller(handler interface{}, params ...interface{})
 - func ByteCaller(handler interface{}, params ...interface{})
 - func ByteSliceCaller(handler interface{}, params ...interface{})
 - func ErrorCaller(handler interface{}, params ...interface{})
 - func Int16Caller(handler interface{}, params ...interface{})
 - func Int16SliceCaller(handler interface{}, params ...interface{})
 - func Int32Caller(handler interface{}, params ...interface{})
 - func Int32SliceCaller(handler interface{}, params ...interface{})
 - func Int64Caller(handler interface{}, params ...interface{})
 - func Int64SliceCaller(handler interface{}, params ...interface{})
 - func Int8Caller(handler interface{}, params ...interface{})
 - func Int8SliceCaller(handler interface{}, params ...interface{})
 - func IntCaller(handler interface{}, params ...interface{})
 - func IntSliceCaller(handler interface{}, params ...interface{})
 - func StringCaller(handler interface{}, params ...interface{})
 - func StringSliceCaller(handler interface{}, params ...interface{})
 - func Uint16Caller(handler interface{}, params ...interface{})
 - func Uint16SliceCaller(handler interface{}, params ...interface{})
 - func Uint32Caller(handler interface{}, params ...interface{})
 - func Uint32SliceCaller(handler interface{}, params ...interface{})
 - func Uint64Caller(handler interface{}, params ...interface{})
 - func Uint64SliceCaller(handler interface{}, params ...interface{})
 - func Uint8Caller(handler interface{}, params ...interface{})
 - func Uint8SliceCaller(handler interface{}, params ...interface{})
 - func VoidCaller(handler interface{}, params ...interface{})
 - func WaitForChannelClosed(ctx context.Context, ch chan struct{}) error
 - type Closure
 - type Event
 - func (ev *Event) Detach(closure *Closure)
 - func (ev *Event) DetachAll()
 - func (ev *Event) DetachID(closureID uint64)
 - func (ev *Event) Hook(closure *Closure, triggerMaxCount ...uint64)
 - func (ev *Event) HookAfter(closure *Closure, triggerMaxCount ...uint64)
 - func (ev *Event) HookBefore(closure *Closure, triggerMaxCount ...uint64)
 - func (ev *Event) Trigger(params ...interface{})
 
- type Queue
 - type SyncEvent
 - type ThresholdEvent
 - func NewThresholdEvent(options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent)
 - func ThresholdEventFromBytes(bytes []byte, options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent, consumedBytes int, err error)
 - func ThresholdEventFromMarshalUtil(marshalUtil *marshalutil.MarshalUtil, options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent, err error)
 
- type ThresholdEventCallbackTypecaster
 - type ThresholdEventConfiguration
 - type ThresholdEventIdentifier
 - type ThresholdEventIdentifierParser
 - type ThresholdEventOption
 - type ThresholdEventTransition
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BoolCaller ¶
func BoolCaller(handler interface{}, params ...interface{})
    func ByteCaller ¶
func ByteCaller(handler interface{}, params ...interface{})
    func ByteSliceCaller ¶
func ByteSliceCaller(handler interface{}, params ...interface{})
    func ErrorCaller ¶
func ErrorCaller(handler interface{}, params ...interface{})
    func Int16Caller ¶
func Int16Caller(handler interface{}, params ...interface{})
    func Int16SliceCaller ¶
func Int16SliceCaller(handler interface{}, params ...interface{})
    func Int32Caller ¶
func Int32Caller(handler interface{}, params ...interface{})
    func Int32SliceCaller ¶
func Int32SliceCaller(handler interface{}, params ...interface{})
    func Int64Caller ¶
func Int64Caller(handler interface{}, params ...interface{})
    func Int64SliceCaller ¶
func Int64SliceCaller(handler interface{}, params ...interface{})
    func Int8Caller ¶
func Int8Caller(handler interface{}, params ...interface{})
    func Int8SliceCaller ¶
func Int8SliceCaller(handler interface{}, params ...interface{})
    func IntSliceCaller ¶
func IntSliceCaller(handler interface{}, params ...interface{})
    func StringCaller ¶
func StringCaller(handler interface{}, params ...interface{})
    func StringSliceCaller ¶
func StringSliceCaller(handler interface{}, params ...interface{})
    func Uint16Caller ¶
func Uint16Caller(handler interface{}, params ...interface{})
    func Uint16SliceCaller ¶
func Uint16SliceCaller(handler interface{}, params ...interface{})
    func Uint32Caller ¶
func Uint32Caller(handler interface{}, params ...interface{})
    func Uint32SliceCaller ¶
func Uint32SliceCaller(handler interface{}, params ...interface{})
    func Uint64Caller ¶
func Uint64Caller(handler interface{}, params ...interface{})
    func Uint64SliceCaller ¶
func Uint64SliceCaller(handler interface{}, params ...interface{})
    func Uint8Caller ¶
func Uint8Caller(handler interface{}, params ...interface{})
    func Uint8SliceCaller ¶
func Uint8SliceCaller(handler interface{}, params ...interface{})
    func VoidCaller ¶
func VoidCaller(handler interface{}, params ...interface{})
    func WaitForChannelClosed ¶
WaitForChannelClosed waits until the channel is closed or the context is done. If the context was done, the event should be manually deregistered afterwards to clean up memory.
Types ¶
type Closure ¶
type Closure struct {
	ID  uint64
	Fnc interface{}
}
    func NewClosure ¶
func NewClosure(f interface{}) *Closure
    type Event ¶
type Event struct {
	// contains filtered or unexported fields
}
    Event represents an object that is triggered to notify code of "interesting updates" that may affect its behavior.
func NewEvent ¶
func NewEvent(triggerFunc func(handler interface{}, params ...interface{})) *Event
    NewEvent is the constructor of an Event.
func (*Event) Hook ¶
Hook allows to register a Closure that is executed when the Event triggers. If 'triggerMaxCount' is >0, the Closure is automatically detached after exceeding the trigger limit.
func (*Event) HookAfter ¶
HookAfter allows to register a Closure that is executed after the Event triggered. If 'triggerMaxCount' is >0, the Closure is automatically detached after exceeding the trigger limit.
func (*Event) HookBefore ¶
HookBefore allows to register a Closure that is executed before the Event triggers. If 'triggerMaxCount' is >0, the Closure is automatically detached after exceeding the trigger limit.
type Queue ¶
type Queue struct {
	// contains filtered or unexported fields
}
    Queue represents an Event
type SyncEvent ¶
func NewSyncEvent ¶
func NewSyncEvent() *SyncEvent
func (*SyncEvent) DeregisterEvent ¶
func (se *SyncEvent) DeregisterEvent(key interface{})
DeregisterEvent removes a registered event to free the memory if not used.
func (*SyncEvent) RegisterEvent ¶
func (se *SyncEvent) RegisterEvent(key interface{}) chan struct{}
RegisterEvent creates a unique channel for the key which can be used to signal global events.
type ThresholdEvent ¶
type ThresholdEvent struct {
	*Event
	// contains filtered or unexported fields
}
    ThresholdEvent is a data structure that acts like a normal event but only triggers when the value that was reported using the Set method causes the corresponding identifier to reach a new threshold. It is stateful which means that it tracks the current level for all identifiers individually to not trigger the same event multiple times.
func NewThresholdEvent ¶
func NewThresholdEvent(options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent)
NewThresholdEvent is the constructor for the ThresholdEvent.
func ThresholdEventFromBytes ¶
func ThresholdEventFromBytes(bytes []byte, options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent, consumedBytes int, err error)
ThresholdEventFromBytes unmarshals a collection of BranchIDs from a sequence of bytes.
func ThresholdEventFromMarshalUtil ¶
func ThresholdEventFromMarshalUtil(marshalUtil *marshalutil.MarshalUtil, options ...ThresholdEventOption) (thresholdEvent *ThresholdEvent, err error)
ThresholdEventFromMarshalUtil unmarshals a ThresholdEvent using a MarshalUtil (for easier unmarshaling).
func (*ThresholdEvent) Bytes ¶
func (t *ThresholdEvent) Bytes() []byte
Bytes returns a marshaled version of the ThresholdEvent.
func (*ThresholdEvent) Level ¶
func (t *ThresholdEvent) Level(identifier ThresholdEventIdentifier) (level int)
Level returns the current level of the reached threshold for the given identity.
func (*ThresholdEvent) Set ¶
func (t *ThresholdEvent) Set(identifier ThresholdEventIdentifier, newValue float64) (newLevel int, transition ThresholdEventTransition)
Set updates the value associated with the given identifier and triggers the Event if necessary.
type ThresholdEventCallbackTypecaster ¶
type ThresholdEventCallbackTypecaster func(handler interface{}, identifier interface{}, newLevel int, transition ThresholdEventTransition)
    ThresholdEventCallbackTypecaster defines the signature of the function that is used to convert the parameters to the types expected by the callbacks.
type ThresholdEventConfiguration ¶
type ThresholdEventConfiguration struct {
	Thresholds         []float64
	CallbackTypecaster ThresholdEventCallbackTypecaster
	IdentifierParser   ThresholdEventIdentifierParser
}
    ThresholdEventConfiguration represents a collection of optional parameters that are used by the ThresholdEvent.
func NewThresholdEventConfiguration ¶
func NewThresholdEventConfiguration(options ...ThresholdEventOption) (configuration *ThresholdEventConfiguration)
NewThresholdEventConfiguration creates a ThresholdEventConfiguration from the given Options.
type ThresholdEventIdentifier ¶
type ThresholdEventIdentifier marshalutil.SimpleBinaryMarshaler
ThresholdEventIdentifier is the type that is used to address the identifiers of the entities whose values we are tracking.
type ThresholdEventIdentifierParser ¶
type ThresholdEventIdentifierParser func(marshalUtil *marshalutil.MarshalUtil) (identifier interface{}, err error)
ThresholdEventIdentifierParser defines the signature of the function that is used to parse the Identifiers.
type ThresholdEventOption ¶
type ThresholdEventOption func(*ThresholdEventConfiguration)
ThresholdEventOption is the type of the optional parameters of the ThresholdEvent.
func WithCallbackTypeCaster ¶
func WithCallbackTypeCaster(callbackTypeCaster ThresholdEventCallbackTypecaster) ThresholdEventOption
WithCallbackTypeCaster sets the method that is used to type cast the called callbacks to their correct types.
func WithIdentifierParser ¶
func WithIdentifierParser(identifierParser ThresholdEventIdentifierParser) ThresholdEventOption
WithIdentifierParser sets the parser for the ThresholdEventIdentifier that is used to identify different entities.
func WithThresholds ¶
func WithThresholds(thresholds ...float64) ThresholdEventOption
WithThresholds sets the thresholds that are supposed to be used for the Triggers.
type ThresholdEventTransition ¶
type ThresholdEventTransition int
ThresholdEventTransition is the type of the values that are used to indicate in which direction a threshold was passed.
const ( // ThresholdLevelMaintained indicates that the reached threshold did not change. ThresholdLevelMaintained ThresholdEventTransition = 0 // ThresholdLevelIncreased indicates that the new value is larger than the passed threshold. ThresholdLevelIncreased ThresholdEventTransition = 1 // ThresholdLevelDecreased indicates that the new value is smaller than the passed threshold. ThresholdLevelDecreased ThresholdEventTransition = -1 )
func (ThresholdEventTransition) String ¶
func (t ThresholdEventTransition) String() string
String returns a human readable version of the ThresholdEventTransition.