'Dispatches messages to listeners of this nexus and to its Channels.
Called by Connections.'

def _rx_message(self, con, msg):

    ret = False
    assert isinstance(msg, dict)
    if isinstance(msg, dict):
        channels = msg.get('CHANNEL')
        if (channels is None):
            channels = ['']
        if (not isinstance(channels, list)):
            channels = [channels]
        for cname in channels:
            channel = self.get_channel(cname, create=False)
            if (channel is None):
                e = self.raiseEvent(MissingChannel, con, cname, msg)
                if (e is not None):
                    cname = e.channel_name
                channel = self.get_channel(cname, create=False)
            if (channel is not None):
                channel.raiseEvent(MessageReceived, con, channel, msg)
                ret = True
    return ret
