Creating one channel per ONU
Using state machine for OperState in OLT, NNI, PON
Using state machien ONU OperState and added gRPC API to list ONUs with
statuses
Change-Id: I663133510ef4a672e3807cd7e0db9eca8b7ab0d2
diff --git a/internal/bbsim/devices/helpers.go b/internal/bbsim/devices/helpers.go
new file mode 100644
index 0000000..d764943
--- /dev/null
+++ b/internal/bbsim/devices/helpers.go
@@ -0,0 +1,18 @@
+package devices
+
+import "github.com/looplab/fsm"
+
+func getOperStateFSM(cb fsm.Callback) *fsm.FSM {
+ return fsm.NewFSM(
+ "down",
+ fsm.Events{
+ {Name: "enable", Src: []string{"down"}, Dst: "up"},
+ {Name: "disable", Src: []string{"up"}, Dst: "down"},
+ },
+ fsm.Callbacks{
+ "enter_state": func(e *fsm.Event) {
+ cb(e)
+ },
+ },
+ )
+}