Exemple #1
0
  void applyHeartBeatStateLocally(
      InetAddress addr, EndpointState localState, EndpointState remoteState) {
    HeartBeatState localHbState = localState.getHeartBeatState();
    HeartBeatState remoteHbState = remoteState.getHeartBeatState();

    if (remoteHbState.getGeneration() > localHbState.getGeneration()) {
      if (logger_.isTraceEnabled())
        logger_.trace(
            "Updating heartbeat state generation to "
                + remoteHbState.getGeneration()
                + " from "
                + localHbState.getGeneration()
                + " for "
                + addr);
      localState.setHeartBeatState(remoteHbState);
    }
    if (localHbState.getGeneration() == remoteHbState.getGeneration()) {
      if (remoteHbState.getHeartBeatVersion() > localHbState.getHeartBeatVersion()) {
        int oldVersion = localHbState.getHeartBeatVersion();
        localState.setHeartBeatState(remoteHbState);
        if (logger_.isTraceEnabled())
          logger_.trace(
              "Updating heartbeat state version to "
                  + localState.getHeartBeatState().getHeartBeatVersion()
                  + " from "
                  + oldVersion
                  + " for "
                  + addr
                  + " ...");
      } else {
        if (logger_.isTraceEnabled())
          logger_.trace(
              "Ignoring lower version "
                  + remoteHbState.getHeartBeatVersion()
                  + " for "
                  + addr
                  + " which is lower than "
                  + localHbState.getHeartBeatVersion());
      }
    }
  }