diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2017-01-31 23:09:32 +0100 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2017-02-23 00:37:27 +0100 |
commit | 49fa0dd3d6c51d79096be1ac2ec3d897e607b399 (patch) | |
tree | 51ca764d8a7e98395c559903fe4ae986da7eb0cc /src/leap/bitmask/vpn/status.py | |
parent | 957eeaba8743ab409b8a3195afbaa534be9b2c8e (diff) |
[refactor] minor renaming
Diffstat (limited to 'src/leap/bitmask/vpn/status.py')
-rw-r--r-- | src/leap/bitmask/vpn/status.py | 42 |
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}) |