'Given a list of receipts, works out which remote servers should be
poked and pokes them.'

@defer.inlineCallbacks
def _push_remotes(self, receipts):

    for receipt in receipts:
        room_id = receipt['room_id']
        receipt_type = receipt['receipt_type']
        user_id = receipt['user_id']
        event_ids = receipt['event_ids']
        data = receipt['data']
        users = (yield self.state.get_current_user_in_room(room_id))
        remotedomains = set((get_domain_from_id(u) for u in users))
        remotedomains = remotedomains.copy()
        remotedomains.discard(self.server_name)
        logger.debug('Sending    receipt    to:    %r', remotedomains)
        for domain in remotedomains:
            self.federation.send_edu(destination=domain, edu_type='m.receipt', content={room_id: {receipt_type: {user_id: {'event_ids': event_ids, 'data': data}}}}, key=(room_id, receipt_type, user_id))
