'Processes this event.'

@flow.EventHandler(allow_client_access=True)
def ProcessMessage(self, message=None, event=None):

    _ = event
    client_id = message.source
    message = message.payload.string
    logging.info(self.logline, client_id, message)
    client = aff4.FACTORY.Open(client_id, token=self.token)
    client_info = client.Get(client.Schema.CLIENT_INFO)
    crash_details = rdf_client.ClientCrash(client_id=client_id, client_info=client_info, crash_message=message, timestamp=long((time.time() * 1000000.0)), crash_type=self.well_known_session_id)
    self.WriteAllCrashDetails(client_id, crash_details)
    if config.CONFIG['Monitoring.alert_email']:
        client = aff4.FACTORY.Open(client_id, token=self.token)
        hostname = client.Get(client.Schema.HOSTNAME)
        url = urllib.urlencode((('c', client_id), ('main', 'HostInformation')))
        email_alerts.EMAIL_ALERTER.SendEmail(config.CONFIG['Monitoring.alert_email'], 'GRR    server', (self.subject % client_id), (self.mail_template % dict(client_id=client_id, admin_ui=config.CONFIG['AdminUI.url'], hostname=hostname, signature=config.CONFIG['Email.signature'], urn=url, message=message)), is_html=True)
