Matteo Scandolo | 9a3518c | 2019-08-13 14:36:01 -0700 | [diff] [blame^] | 1 | package devices |
2 | |||||
3 | import "github.com/looplab/fsm" | ||||
4 | |||||
5 | func 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 | } |