'Directly publish the message into all listeners of the event.'

@classmethod
def PublishEventInline(cls, event_name, msg, token=None):

    if (not isinstance(msg, rdfvalue.RDFValue)):
        raise ValueError('Can    only    publish    RDFValue    instances.')
    if (not isinstance(msg, rdf_flows.GrrMessage)):
        msg = rdf_flows.GrrMessage(payload=msg)
    if (not isinstance(event_name, basestring)):
        raise ValueError('Event    name    must    be    a    string.')
    event_name_map = registry.EventRegistry.EVENT_NAME_MAP
    for event_cls in event_name_map.get(event_name, []):
        event_obj = event_cls(event_cls.well_known_session_id, mode='rw', token=token)
        event_obj.ProcessMessage(msg)
