インターフェース Candidate

すべての既知の実装クラス:
AbstractCandidateDefaultCandidate

public interface Candidate
候補者がリーダー選出に参加するための契約を定義するインターフェース。コールバックメソッド onGranted(Context) および onRevoked(Context) は、リーダーシップが付与および取り消されたときに呼び出されます。
作成者:
Patrick Peralta, Janne Valkealahti
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    識別子を取得します。
    ロールを取得します。
    void
    この候補者がリーダーに選出されたときに呼び出されるコールバックメソッド。
    void
    この候補者がリーダーでなくなったときに呼び出されるコールバックメソッド。
  • メソッドの詳細

    • getRole

      StringSE getRole()
      ロールを取得します。
      戻り値:
      この候補者が参加しているリーダーシップのロールの名前を示す文字列。同じ名前でシステムに存在する他の候補者はリーダーシップを争うでしょう
    • getId

      StringSE getId()
      識別子を取得します。
      戻り値:
      この候補者の一意の ID。リーダー選出の他の候補者は同じ ID を返すべきではありません
    • onGranted

      void onGranted(Context ctx) throws InterruptedExceptionSE
      この候補者がリーダーに選出されたときに呼び出されるコールバックメソッド。実装では、バックグラウンドスレッドを起動してリーダーシップのロールを実行し、すぐに戻ることを選択できます。別のオプションは、実装がこのメソッドを呼び出すスレッドですべてのリーダーシップ作業を実行することです。後者の場合、メソッド InterruptedExceptionSE をスローしてスレッドの割り込みに応答する必要があります。スレッドが中断されると、これは、この候補者がリーダーではなくなったことを示します。
      パラメーター:
      ctx - リーダーシップの背景
      例外:
      InterruptedExceptionSE - この候補者がリーダーではなくなったとき
    • onRevoked

      void onRevoked(Context ctx)
      この候補者がリーダーでなくなったときに呼び出されるコールバックメソッド。実装は、これを使用して、リーダーシップ作業を実行するために使用されるすべてのリソース(スレッド、ネットワーク接続など)をシャットダウンする必要があります。
      パラメーター:
      ctx - リーダーシップの背景