code: @Override
    public void handleFailedDispatch(long clientId, long failedTime) {
      ClientData clientData = core.getClientData(clientId);
      if (failedTime == -1 || clientData == null)
        return;
      
      // We only add it and don't update it because we are interested in
      // keeping track of the first moment it failed
      if (clientData.markedAsFailedTime == -1) {
        clientData.markedAsFailedTime = failedTime;
        LOG.info("Marked client " + clientId + " as failed at " + failedTime);
      }
  
      clientData.lastSentTime = failedTime;
    }
docs: Called each time a handleNotification or heartbeat Thrift
  call fails.
  @param clientId the id of the client on which the call failed.
  @param failedTime the time at which the call was made. If
  this is -1, then nothing will be updated.