pub async fn serve_roam_monitor(
roam_monitor: Box<dyn RoamMonitorApi>,
roaming_policy: RoamingPolicy,
trigger_data_receiver: Receiver<RoamTriggerData>,
connection_selection_requester: ConnectionSelectionRequester,
roam_request_sender: Sender<PolicyRoamRequest>,
telemetry_sender: TelemetrySender,
past_roams: Arc<Mutex<PastRoamList>>,
) -> Result<(), Error>