Adalm1000_Logger/SessionManager.py
Vincent Hanewinkel 8ea1532650 fix
2025-08-14 22:28:30 +02:00

28 lines
899 B
Python

import threading
class SessionManager:
def __init__(self, sess):
self.sess = sess
self._lock = threading.Lock()
self._running_count = 0 # wie viele Devices wollen gerade streamen?
def start(self):
with self._lock:
if self._running_count == 0:
# Erster „Kunde“ → Session-Stream starten
self.sess.start(0) # 0 = endlos
self._running_count += 1
return self._running_count
def stop(self):
with self._lock:
if self._running_count > 0:
self._running_count -= 1
if self._running_count == 0:
# Letzter „Kunde“ ist weg → Session beenden
self.sess.end()
return self._running_count
def running_devices(self):
with self._lock:
return self._running_count