Interface LeaderRetrievalEventHandler

All Known Implementing Classes:
DefaultLeaderRetrievalService

public interface LeaderRetrievalEventHandler
Interface which should be implemented to notify to LeaderInformation changes in LeaderRetrievalDriver.

Important: The LeaderRetrievalDriver could not guarantee that there is no LeaderRetrievalEventHandler callbacks happen after AutoCloseable.close(). This means that the implementor of LeaderRetrievalEventHandler is responsible for filtering out spurious callbacks(e.g. after close has been called on LeaderRetrievalDriver).

  • Method Details

    • notifyLeaderAddress

      void notifyLeaderAddress(LeaderInformation leaderInformation)
      Called by specific LeaderRetrievalDriver to notify leader address.

      Duplicated leader change events could happen, so the implementation should check whether the passed leader information is truly changed with last stored leader information.

      Parameters:
      leaderInformation - the new leader information to notify LeaderRetrievalService. It could be LeaderInformation.empty() if the leader address does not exist in the external storage.