Class IoServiceListenerSupport

java.lang.Object
org.apache.mina.core.service.IoServiceListenerSupport

public class IoServiceListenerSupport extends Object
A helper class which provides addition and removal of IoServiceListeners and firing events.
  • Field Details

    • service

      private final IoService service
      The IoService that this instance manages.
    • listeners

      private final List<IoServiceListener> listeners
      A list of IoServiceListeners.
    • managedSessions

      private final ConcurrentMap<Long, IoSession> managedSessions
      Tracks managed sessions.
    • readOnlyManagedSessions

      private final Map<Long, IoSession> readOnlyManagedSessions
      Read only version of managedSessions.
    • activated

      private final AtomicBoolean activated
    • activationTime

      private volatile long activationTime
      Time this listenerSupport has been activated
    • largestManagedSessionCount

      private volatile int largestManagedSessionCount
      A counter used to store the maximum sessions we managed since the listenerSupport has been activated
    • cumulativeManagedSessionCount

      private AtomicLong cumulativeManagedSessionCount
      A global counter to count the number of sessions managed since the start
  • Constructor Details

    • IoServiceListenerSupport

      public IoServiceListenerSupport(IoService service)
      Creates a new instance of the listenerSupport.
      Parameters:
      service - The associated IoService
  • Method Details

    • add

      public void add(IoServiceListener listener)
      Adds a new listener.
      Parameters:
      listener - The added listener
    • remove

      public void remove(IoServiceListener listener)
      Removes an existing listener.
      Parameters:
      listener - The listener to remove
    • getActivationTime

      public long getActivationTime()
      Returns:
      The time (in ms) this instance has been activated
    • getManagedSessions

      public Map<Long, IoSession> getManagedSessions()
      Returns:
      A Map of the managed IoSessions
    • getManagedSessionCount

      public int getManagedSessionCount()
      Returns:
      The number of managed IoSessions
    • getLargestManagedSessionCount

      public int getLargestManagedSessionCount()
      Returns:
      The largest number of managed session since the creation of this listenerSupport
    • getCumulativeManagedSessionCount

      public long getCumulativeManagedSessionCount()
      Returns:
      The total number of sessions managed since the initilization of this ListenerSupport
    • isActive

      public boolean isActive()
      Returns:
      true if the instance is active
    • fireServiceActivated

      public void fireServiceActivated()
      Calls IoServiceListener.serviceActivated(IoService) for all registered listeners.
    • fireServiceDeactivated

      public void fireServiceDeactivated()
      Calls IoServiceListener.serviceDeactivated(IoService) for all registered listeners.
    • fireSessionCreated

      public void fireSessionCreated(IoSession session)
      Calls IoServiceListener.sessionCreated(IoSession) for all registered listeners.
      Parameters:
      session - The session which has been created
    • fireSessionDestroyed

      public void fireSessionDestroyed(IoSession session)
      Calls IoServiceListener.sessionDestroyed(IoSession) for all registered listeners.
      Parameters:
      session - The session which has been destroyed
    • disconnectSessions

      private void disconnectSessions()
      Close all the sessions