Total Complexity | 9 |
Total Lines | 25 |
Duplicated Lines | 0 % |
Changes | 3 | ||
Bugs | 0 | Features | 0 |
1 | import threading |
||
18 | class Pump(threading.Thread): |
||
19 | def __init__(self, driver): |
||
20 | super().__init__() |
||
21 | self._stop = threading.Event() |
||
22 | self._driver = driver |
||
23 | |||
24 | def stop(self): |
||
25 | self._stop.set() |
||
26 | |||
27 | def stopped(self): |
||
28 | return self._stop.isSet() |
||
29 | |||
30 | def run(self): |
||
31 | with self._driver as driver: |
||
32 | while not self._stop.is_set(): |
||
33 | sync = driver.read(1) # search for sync |
||
34 | if sync == MESSAGE_TX_SYNC or sync == MESSAGE_TX_SYNC_LEGACY: |
||
35 | size = driver.read(1) # get size of message |
||
36 | try: |
||
37 | raw = bytearray(sync) |
||
38 | raw.extend(size) |
||
39 | raw.extend(driver.read(size + 2)) |
||
40 | message = Message.decode(raw) |
||
41 | except Exception as e: |
||
42 | pass |
||
43 | |||
75 |