Initial commit of a simple OpenOLT simulator
make openoltsim
./build/openoltsim
Openoltsim is meant to simulate an OLT running the OpenOLT driver.
Currently, it only sends the the "olt up" indication allowing
voltha pre-provision/enable commands to connect to openoltsim.
Change-Id: I95910657d269e37f4e4943d2b91f2780ecd8fd08
diff --git a/openoltsim/state.cc b/openoltsim/state.cc
new file mode 100644
index 0000000..c3b2966
--- /dev/null
+++ b/openoltsim/state.cc
@@ -0,0 +1,41 @@
+#include <mutex>
+
+namespace state {
+
+ bool connected_to_voltha = false;
+ bool activated = false;
+ std::mutex state_lock;
+
+ bool is_connected() {
+ return connected_to_voltha;
+ }
+
+ bool is_activated() {
+ return activated;
+ }
+
+ void connect() {
+ state_lock.lock();
+ connected_to_voltha = true;
+ state_lock.unlock();
+ }
+
+ void disconnect() {
+ state_lock.lock();
+ connected_to_voltha = false;
+ state_lock.unlock();
+ }
+
+ void activate() {
+ state_lock.lock();
+ activated = true;
+ state_lock.unlock();
+ }
+
+ void deactivate() {
+ state_lock.lock();
+ activated = false;
+ state_lock.unlock();
+ }
+
+}