-class BaseWebSocketHub:
- first = True
- client_ids_sem = asyncio.Semaphore(0)
-
- @classmethod
- def __class_init(cls, redis):
- if not cls.first:
- return
- cls.first = False
- asyncio.create_task(cls.initialize_client_ids(redis))
-
- @classmethod
- async def initialize_client_ids(cls, redis):
- await redis.set("client_id", 0)
- cls.client_ids_sem.release()
-
- def __init__(self):
- self.redis = StrictRedis(password=get_redis_pass("/etc/redis/redis.conf"))
- self.__class_init(self.redis)
-
- def task_done(self):
- self.task = None
+class WebSocketApp:
+ def __init__(self, hubapp: TreeFileApp):
+ self.name = hubapp.name
+ self.conn = hubapp.root.conn