@defer.inlineCallbacks
    def send_message(self, room_name, sender, body):
        destinations = yield self.get_servers_for_context(room_name)

        try:
            yield self.replication_layer.send_pdu(
                Pdu.create_new(
                    context=room_name,
                    pdu_type="sy.room.message",
                    content={"sender": sender, "body": body},
                    origin=self.server_name,
                    destinations=destinations,
                )
            )
        except Exception as e:
            logger.exception(e)
Passes a record on to the handlers on the stack.  This is useful when
dataset/ETHPy150Open matrix-org/synapse/contrib/experiments/test_messaging.py/HomeServer.send_message--crossover with--dataset/ETHPy150Open getlogbook/logbook/logbook/base.py/dispatch_record