async fn peer_loop( peer_id: PeerId, event_sender: Arc<dyn Fn(P2pEvent) -> Option<()> + Send + Sync + 'static>, cmd_receiver: TrackedUnboundedReceiver<PeerCmd>, pc: RTCConnection, aborted: Aborted, )