re-arrange definitions in scopes source code
This commit is contained in:
parent
b6325392a8
commit
fc5f140059
1 changed files with 31 additions and 31 deletions
62
scopes.go
62
scopes.go
|
@ -1,4 +1,4 @@
|
||||||
// Package `scopes` provides a set of common types (mostly interfaces
|
// Package `scopes` provides a set of core types (mostly interfaces
|
||||||
// and function declarations) and some basic functions.
|
// and function declarations) and some basic functions.
|
||||||
package scopes
|
package scopes
|
||||||
|
|
||||||
|
@ -8,35 +8,6 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
// config
|
|
||||||
|
|
||||||
type ActionSpec interface {
|
|
||||||
Handler() ActionHandler
|
|
||||||
Receivers() []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Pattern interface {
|
|
||||||
fmt.Stringer
|
|
||||||
Slice() []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type ActionConfig interface {
|
|
||||||
Pattern() Pattern
|
|
||||||
Specs() []ActionSpec
|
|
||||||
}
|
|
||||||
|
|
||||||
type Config interface {
|
|
||||||
Name() string
|
|
||||||
Starter() StartProc
|
|
||||||
Step() StepProc
|
|
||||||
MessageHandler() MessageHandler
|
|
||||||
DoneHandler() StepProc
|
|
||||||
Actions() []ActionConfig
|
|
||||||
AddAction(string, ...ActionSpec) Config
|
|
||||||
Children() []Config
|
|
||||||
Add(...Config) Config
|
|
||||||
}
|
|
||||||
|
|
||||||
// services - context
|
// services - context
|
||||||
|
|
||||||
type Services map[string]Context
|
type Services map[string]Context
|
||||||
|
@ -100,6 +71,11 @@ type Action interface {
|
||||||
Handle() bool
|
Handle() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ActionSpec interface {
|
||||||
|
Handler() ActionHandler
|
||||||
|
Receivers() []string
|
||||||
|
}
|
||||||
|
|
||||||
// procedures and handlers
|
// procedures and handlers
|
||||||
|
|
||||||
type Proc = func(Context)
|
type Proc = func(Context)
|
||||||
|
@ -108,7 +84,31 @@ type StepProc = func(Context) bool
|
||||||
type MessageHandler = func(Context, Message) bool
|
type MessageHandler = func(Context, Message) bool
|
||||||
type ActionHandler = func(Action) bool
|
type ActionHandler = func(Action) bool
|
||||||
|
|
||||||
// library functions
|
// standard configuration interfaces
|
||||||
|
|
||||||
|
type Config interface {
|
||||||
|
Name() string
|
||||||
|
Starter() StartProc
|
||||||
|
Step() StepProc
|
||||||
|
MessageHandler() MessageHandler
|
||||||
|
DoneHandler() StepProc
|
||||||
|
Actions() []ActionConfig
|
||||||
|
AddAction(string, ...ActionSpec) Config
|
||||||
|
Children() []Config
|
||||||
|
Add(...Config) Config
|
||||||
|
}
|
||||||
|
|
||||||
|
type ActionConfig interface {
|
||||||
|
Pattern() Pattern
|
||||||
|
Specs() []ActionSpec
|
||||||
|
}
|
||||||
|
|
||||||
|
type Pattern interface {
|
||||||
|
fmt.Stringer
|
||||||
|
Slice() []string
|
||||||
|
}
|
||||||
|
|
||||||
|
// core library functions
|
||||||
|
|
||||||
func RunCtx(ctx Context, fct Proc) {
|
func RunCtx(ctx Context, fct Proc) {
|
||||||
ctx.WaitGroup().Add(1)
|
ctx.WaitGroup().Add(1)
|
||||||
|
|
Loading…
Add table
Reference in a new issue