pub async fn run<S: Socket>(app: Arc<App>, socket: S) -> Result<()>
Drive one subscription until the socket closes.