async fn handle_room(
services: &Services,
_client: &IpAddr,
origin: &ServerName,
txn_id: &TransactionId,
txn_start_time: Instant,
room_id: OwnedRoomId,
pdus: impl Iterator<Item = (usize, (OwnedRoomId, OwnedEventId, CanonicalJsonObject))> + Send,
) -> Result<BTreeMap<OwnedEventId, Result>>