summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/vpn/status.py
diff options
context:
space:
mode:
authorKali Kaneko (leap communications) <kali@leap.se>2017-01-31 23:09:32 +0100
committerKali Kaneko (leap communications) <kali@leap.se>2017-02-23 00:37:27 +0100
commit49fa0dd3d6c51d79096be1ac2ec3d897e607b399 (patch)
tree51ca764d8a7e98395c559903fe4ae986da7eb0cc /src/leap/bitmask/vpn/status.py
parent957eeaba8743ab409b8a3195afbaa534be9b2c8e (diff)
[refactor] minor renaming
Diffstat (limited to 'src/leap/bitmask/vpn/status.py')
-rw-r--r--src/leap/bitmask/vpn/status.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/leap/bitmask/vpn/status.py b/src/leap/bitmask/vpn/status.py
new file mode 100644
index 0000000..ff7f311
--- /dev/null
+++ b/src/leap/bitmask/vpn/status.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+Queue used to store status changes on EIP/VPN/Firewall and to be checked for
+any app using this vpn library.
+
+This should be considered a temporary code meant to replace the signaling
+system that announces events inside of vpn code and is catched on the bitmask
+client.
+"""
+
+import Queue
+
+
+class StatusQueue(object):
+ def __init__(self):
+ self._status = Queue.Queue()
+
+ # this attributes serve to simulate events in the old signaler used
+ self.eip_network_unreachable = "network_unreachable"
+ self.eip_process_restart_tls = "process_restart_tls"
+ self.eip_process_restart_ping = "process_restart_ping"
+ self.eip_connected = "initialization_completed"
+ self.eip_status_changed = "status_changed" # has parameter
+ self.eip_state_changed = "state_changed" # has parameter
+ self.eip_process_finished = "process_finished" # has parameter
+
+ def get_noblock(self):
+ s = None
+ try:
+ s = self._status.get(False)
+ except Queue.Empty:
+ pass
+
+ return s
+
+ def get(self):
+ return self._status.get(timeout=1)
+
+ def signal(self, status, data=None):
+ self._status.put({'status': status, 'data': data})