Class RouterStubManager

java.lang.Object
org.jgroups.stack.RouterStubManager
All Implemented Interfaces:
Runnable, RouterStub.CloseListener

public class RouterStubManager extends Object implements Runnable, RouterStub.CloseListener
Manages a list of RouterStubs (e.g. health checking, reconnecting).
  • Field Details

    • stubs

      protected final List<RouterStub> stubs
    • timer

      protected final TimeScheduler timer
    • cluster_name

      protected final String cluster_name
    • local_addr

      protected final Address local_addr
    • logical_name

      protected final String logical_name
    • phys_addr

      protected final PhysicalAddress phys_addr
    • reconnect_interval

      protected final long reconnect_interval
    • use_nio

      protected boolean use_nio
    • reconnector_task

      protected Future<?> reconnector_task
    • heartbeat_task

      protected Future<?> heartbeat_task
    • timeout_checker_task

      protected Future<?> timeout_checker_task
    • log

      protected final Log log
    • socket_factory

      protected SocketFactory socket_factory
    • heartbeat_interval

      protected long heartbeat_interval
    • heartbeat_timeout

      protected long heartbeat_timeout
    • send_heartbeat

      protected final Runnable send_heartbeat
    • check_timeouts

      protected final Runnable check_timeouts
    • non_blocking_sends

      protected boolean non_blocking_sends
    • max_send_queue

      protected int max_send_queue
  • Constructor Details

  • Method Details

    • emptyGossipClientStubManager

      public static RouterStubManager emptyGossipClientStubManager(Log log, TimeScheduler timer)
    • useNio

      public RouterStubManager useNio(boolean flag)
    • reconnectorRunning

      public boolean reconnectorRunning()
    • heartbeaterRunning

      public boolean heartbeaterRunning()
    • timeouterRunning

      public boolean timeouterRunning()
    • nonBlockingSends

      public boolean nonBlockingSends()
    • nonBlockingSends

      public RouterStubManager nonBlockingSends(boolean b)
    • maxSendQueue

      public int maxSendQueue()
    • maxSendQueue

      public RouterStubManager maxSendQueue(int s)
    • socketFactory

      public RouterStubManager socketFactory(SocketFactory socket_factory)
    • heartbeat

      public RouterStubManager heartbeat(long heartbeat_interval, long heartbeat_timeout)
    • forEach

      public void forEach(Consumer<RouterStub> action)
      Applies action to all connected RouterStubs
    • forAny

      public void forAny(Consumer<RouterStub> action)
      Applies action to a randomly picked RouterStub that's connected
      Parameters:
      action -
    • createAndRegisterStub

      public RouterStub createAndRegisterStub(InetSocketAddress local, InetSocketAddress router_addr)
    • createAndRegisterStub

      public RouterStub createAndRegisterStub(InetSocketAddress local, InetSocketAddress router_addr, int linger)
    • unregisterStub

      public RouterStub unregisterStub(InetSocketAddress router_addr_sa)
    • connectStubs

      public void connectStubs()
    • disconnectStubs

      public void disconnectStubs()
    • destroyStubs

      public void destroyStubs()
    • printStubs

      public String printStubs()
    • printReconnectList

      public String printReconnectList()
    • print

      public String print()
    • run

      public void run()
      Specified by:
      run in interface Runnable
    • closed

      public void closed(RouterStub stub)
      Specified by:
      closed in interface RouterStub.CloseListener
    • startReconnector

      protected void startReconnector()
    • stopReconnector

      protected void stopReconnector()
    • startHeartbeatTask

      protected void startHeartbeatTask()
    • stopHeartbeatTask

      protected void stopHeartbeatTask()
    • startTimeoutChecker

      protected void startTimeoutChecker()
    • stopTimeoutChecker

      protected void stopTimeoutChecker()
    • findRandomConnectedStub

      protected RouterStub findRandomConnectedStub()
    • sendHeartbeat

      protected void sendHeartbeat()
    • checkTimeouts

      protected void checkTimeouts()
    • connectedStubs

      public int connectedStubs()
    • disconnectedStubs

      public boolean disconnectedStubs()