Class DefaultMembershipManager

java.lang.Object
com.tnsai.coordination.groups.DefaultMembershipManager
All Implemented Interfaces:
com.tnsai.agents.groups.MembershipManager

public class DefaultMembershipManager extends Object implements com.tnsai.agents.groups.MembershipManager
Default implementation of MembershipManager.
  • Constructor Details

    • DefaultMembershipManager

      public DefaultMembershipManager(String groupId, com.tnsai.agents.groups.GroupPolicy policy, com.tnsai.agents.groups.GroupEventBus eventBus)
  • Method Details

    • updatePolicy

      public void updatePolicy(com.tnsai.agents.groups.GroupPolicy newPolicy)
    • register

      public Optional<com.tnsai.agents.groups.MembershipManager.MemberInfo> register(com.tnsai.agents.Agent agent)
      Specified by:
      register in interface com.tnsai.agents.groups.MembershipManager
    • unregister

      public boolean unregister(String agentId, String reason)
      Specified by:
      unregister in interface com.tnsai.agents.groups.MembershipManager
    • validate

      public com.tnsai.agents.groups.MembershipManager.MembershipValidation validate(com.tnsai.agents.Agent agent)
      Specified by:
      validate in interface com.tnsai.agents.groups.MembershipManager
    • heartbeat

      public boolean heartbeat(String agentId)
      Specified by:
      heartbeat in interface com.tnsai.agents.groups.MembershipManager
    • getHealth

      public Optional<com.tnsai.agents.groups.MembershipManager.MemberHealth> getHealth(String agentId)
      Specified by:
      getHealth in interface com.tnsai.agents.groups.MembershipManager
    • getUnhealthyMembers

      public List<com.tnsai.agents.groups.MembershipManager.MemberInfo> getUnhealthyMembers()
      Specified by:
      getUnhealthyMembers in interface com.tnsai.agents.groups.MembershipManager
    • checkAndRemoveUnhealthy

      public int checkAndRemoveUnhealthy()
      Specified by:
      checkAndRemoveUnhealthy in interface com.tnsai.agents.groups.MembershipManager
    • startHealthCheck

      public void startHealthCheck(Duration interval)
      Specified by:
      startHealthCheck in interface com.tnsai.agents.groups.MembershipManager
    • stopHealthCheck

      public void stopHealthCheck()
      Specified by:
      stopHealthCheck in interface com.tnsai.agents.groups.MembershipManager
    • recordTaskStart

      public boolean recordTaskStart(String agentId)
      Specified by:
      recordTaskStart in interface com.tnsai.agents.groups.MembershipManager
    • recordTaskComplete

      public boolean recordTaskComplete(String agentId)
      Specified by:
      recordTaskComplete in interface com.tnsai.agents.groups.MembershipManager
    • getAvailableMembers

      public List<com.tnsai.agents.groups.MembershipManager.MemberInfo> getAvailableMembers()
      Specified by:
      getAvailableMembers in interface com.tnsai.agents.groups.MembershipManager
    • getAvailableMembersWithCapability

      public List<com.tnsai.agents.groups.MembershipManager.MemberInfo> getAvailableMembersWithCapability(String capability)
      Specified by:
      getAvailableMembersWithCapability in interface com.tnsai.agents.groups.MembershipManager
    • getMembers

      public List<com.tnsai.agents.groups.MembershipManager.MemberInfo> getMembers()
      Specified by:
      getMembers in interface com.tnsai.agents.groups.MembershipManager
    • getMember

      public Optional<com.tnsai.agents.groups.MembershipManager.MemberInfo> getMember(String agentId)
      Specified by:
      getMember in interface com.tnsai.agents.groups.MembershipManager
    • findByCapability

      public List<com.tnsai.agents.groups.MembershipManager.MemberInfo> findByCapability(String capability)
      Specified by:
      findByCapability in interface com.tnsai.agents.groups.MembershipManager
    • getMemberCount

      public int getMemberCount()
      Specified by:
      getMemberCount in interface com.tnsai.agents.groups.MembershipManager
    • getStats

      public com.tnsai.agents.groups.MembershipManager.MembershipStats getStats()
      Specified by:
      getStats in interface com.tnsai.agents.groups.MembershipManager
    • getHistory

      public List<com.tnsai.agents.groups.MembershipManager.MembershipHistoryEntry> getHistory(int limit)
      Specified by:
      getHistory in interface com.tnsai.agents.groups.MembershipManager