ServiceRepository
Interface for managing background service state, connection status, and mesh events.
This repository acts as the primary data bridge between the long-running mesh service and the UI/Feature layers. It maintains reactive flows for connection status, error messages, and incoming mesh traffic.
Connection state contract: connectionState is the canonical, app-level connection state that all UI, feature modules, and ViewModels should observe. It incorporates handshake progress, light-sleep policy, and transport reconciliation — unlike RadioInterfaceService.connectionState, which only reflects the raw hardware link status. The MeshConnectionManager is the sole writer of this state; it bridges RadioInterfaceService.connectionState changes into app-level transitions via setConnectionState.
See also
Properties
Reactive flow of high-level client notifications.
Reactive flow of connection progress messages.
Canonical app-level connection state.
Reactive flow of human-readable error messages.
Flow of all raw MeshPacket objects received from the mesh.
Reactive flow of the most recent neighbor info response (formatted string).
Flow of service actions requested by the UI (e.g., "Favorite Node", "Mute Node").
Reactive flow of the most recent traceroute result.
Functions
Clears the current client notification.
Clears the current error message.
Clears the current neighbor info response.
Clears the current traceroute response.
Emits a mesh packet into the flow.
Dispatches a service action to be handled by the background service.
Sets the current client notification.
Sets the connection progress message.
Updates the canonical app-level connection state.
Sets an error message to be displayed.
Sets the neighbor info response.
Sets the traceroute response.