pub async fn serve_with_handler<S, H, F>(
listener: UnixListener,
handler: H,
shutdown: S,
) -> Result<()>where
S: Future<Output = ()> + Send,
H: Fn(ControlCommand) -> F + Clone + Send + Sync + 'static,
F: Future<Output = Result<ControlResponse, ControlError>> + Send + 'static,