daemon.api.endpoints.logs module

class daemon.api.endpoints.logs.ConnectionManager[source]

Bases: object

Manager of websockets listening for a log stream.

TODO for now contian a single connection. Ideally there must be one manager per log with a thread checking for updates in log and broadcasting to active connections

Instantiate a ConnectionManager.

  • async connect(websocket)[source]

    Register a new websocket.

    • Parameters

      websocket (WebSocket) – websocket to register

  • async disconnect(websocket)[source]

    Disconnect a websocket.

    • Parameters

      websocket (WebSocket) – websocket to disconnect

  • async broadcast(message)[source]

    Send a json message to all registered websockets.

    • Parameters

      message (dict) – JSON-serializable message to be broadcast