docs: function messageHandler(msg, rinfo) {
    var msgStr = msg.toString();
  
    log.verbose(msgStr + ' <from: ' + rinfo.address + (rinfo.port ? ':' + rinfo.port : '') + '>');
  
    if (msg.length < 2) {
      return;
    }
  
    try {
      msg = JSON.parse(msgStr);
    } catch (e) {
      log.debug(e.stack || e.message || e);
      return;
    }
  
    if (!_.isPlainObject(msg)) {
      return;
    }
  
    // check for health check request
    if (msg.healthCheck) {
      // respond to health check and exit function
      var resp = JSON.stringify({status: (this.dropEvents ? 'backlogged' : 'ok')});
  
      try {
        this.server.send(resp, 0, resp.length, rinfo.port, rinfo.address, function (err) {
          if (err) {
            log.debug(err.stack || err.message || err);
          }
        });
      } catch (err) {
        log.debug(err.stack || err.message || err);
      }
  
      return;
    }
  
    if (_.isUndefined(msg.routingKey) || !_.isString(msg.routingKey) || !msg.routingKey) {
      return;
    }
  
    // remove illegal characters from the routing key
    msg.routingKey = msg.routingKey.replace(/[^-\.\w]/g, '');
  
    if (!msg.routingKey) {
      return;
    }
  
    if (this.dropEvents) {
      // track drop stats
      if (_.isFunction(process.send)) {
        try {
          process.send({event: 'updateEventDropStats', data: msg});
        } catch (err) {
          log.debug(err.stack || err.message || err);
        }
      }
  
      // last ditch effort to process event
      // hope another eventsd server is not backlogged
      if (process.env.SZ_EVENTSD_HOST && process.env.SZ_EVENTSD_PORT) {
        log.verbose('resending event to eventsd');
  
        try {
          var sock = new dgram.createSocket('udp4');
          var message = JSON.stringify(msg);
  
          sock.send(message, 0, message.length, process.env.SZ_EVENTSD_PORT, process.env.SZ_EVENTSD_HOST, function (err) {
            if (err) {
              log.verbose(err.stack || err.message || err);
            }
          });
        } catch (err) {
          log.verbose(err.stack || err.message || err);
        }
      }
  
      return;
    }
  
    // track event stats
    if (_.isFunction(process.send)) {
      try {
        process.send({event: 'updateEventStats', data: msg});
      } catch (err) {
        log.debug(err.stack || err.message || err);
      }
    }
  
    // publish to firehose
    this.publisher.publish(msg, {contentType: 'application/json'}, msg.routingKey);
  }