blob: d764943cf0fbae2e414cc0a308a2a685d7728bbc [file] [log] [blame]
Matteo Scandolo9a3518c2019-08-13 14:36:01 -07001package devices
2
3import "github.com/looplab/fsm"
4
5func getOperStateFSM(cb fsm.Callback) *fsm.FSM {
6 return fsm.NewFSM(
7 "down",
8 fsm.Events{
9 {Name: "enable", Src: []string{"down"}, Dst: "up"},
10 {Name: "disable", Src: []string{"up"}, Dst: "down"},
11 },
12 fsm.Callbacks{
13 "enter_state": func(e *fsm.Event) {
14 cb(e)
15 },
16 },
17 )
18}