Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct {
Type ConditionType `json:"type,omitempty"`
Status *bool `json:"status"`
Frequency stats.ByWindow `json:"frequency,omitempty"`
LastProbeTime *time.Time `json:"lastProbeTime"`
LastTransitionTime *time.Time `json:"lastTransitionsTime"`
}
func NewCondition ¶
type ConditionType ¶
type ConditionType string
type Core ¶
type Core struct {
RecordStorage
// contains filtered or unexported fields
}
func NewCore ¶
func NewCore(opts CoreOptions, consumer event.StreamConsumer) *Core
func (*Core) HandleMessage ¶
func (c *Core) HandleMessage(msg event.StreamMessage)
type CoreOptions ¶
type CoreOptions struct {
Streaming StreamingOptions
StartTimeOffset time.Duration
}
type Record ¶
type Record struct {
ID string
Conditions []ConditionType
PastEvents []data.Event
ReducersState map[int]interface{}
LastStatus Status
}
func NewRecord ¶
func NewRecord(id string, conditions []ConditionType) *Record
type RecordStorage ¶
type RecordStorage struct {
// contains filtered or unexported fields
}
func (*RecordStorage) GetOrCreate ¶
func (s *RecordStorage) GetOrCreate(id string, conditions []ConditionType) *Record
type Reducer ¶
type Reducer interface {
Bindings() []event.BindingArgs
Conditions() []ConditionType
Reduce(current Status, state interface{}, evt data.Event) (Status, interface{})
}
type ReducerFunc ¶
func (ReducerFunc) Bindings ¶
func (f ReducerFunc) Bindings() []event.BindingArgs
func (ReducerFunc) Conditions ¶
func (f ReducerFunc) Conditions() []ConditionType
type Status ¶
type Status struct {
ID string `json:"id"`
Healthy Condition `json:"healthy"`
Conditions []*Condition `json:"conditions"`
}
func (Status) GetCondition ¶
func (s Status) GetCondition(condType ConditionType) *Condition
type StreamingOptions ¶
type StreamingOptions struct {
Stream, ConsumerName string
event.RawStreamOptions
}
Purposedly made of built-in types only to bind directly to cli flags.
Click to show internal directories.
Click to hide internal directories.