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 Event ¶
func ParseEvent ¶
type OrchestratorMetadata ¶
type Record ¶
type Record struct {
ID string
Conditions []ConditionType
PastEvents []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(golpExchange string) []event.BindingArgs
Conditions() []ConditionType
Reduce(current Status, state interface{}, evt Event) (Status, interface{})
}
type ReducerFunc ¶
func (ReducerFunc) Bindings ¶
func (f ReducerFunc) Bindings(_ string) []event.BindingArgs
func (ReducerFunc) Conditions ¶
func (f ReducerFunc) Conditions() []ConditionType
type SegmentMetadata ¶
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, Exchange string
ConsumerName string
event.RawStreamOptions
}
Purposedly made of built-in types only to bind directly to cli flags.
type TranscodeAttemptInfo ¶
type TranscodeAttemptInfo struct {
Orchestrator OrchestratorMetadata `json:"orchestrator"`
LatencyMs int64 `json:"latencyMs"`
Error *string `json:"error"`
}
type TranscodeEvent ¶
type TranscodeEvent struct {
NodeID string `json:"nodeId"`
ManifestID_ string `json:"manifestId"`
Segment SegmentMetadata `json:"segment"`
StartTime int64 `json:"startTime"`
LatencyMs int64 `json:"latencyMs"`
Success bool `json:"success"`
Attempts []TranscodeAttemptInfo `json:"attempts"`
}
func (*TranscodeEvent) ManifestID ¶
func (e *TranscodeEvent) ManifestID() string
func (*TranscodeEvent) Timestamp ¶
func (e *TranscodeEvent) Timestamp() time.Time
Click to show internal directories.
Click to hide internal directories.