Package org.apache.mina.core.service
Class IoServiceListenerSupport
- java.lang.Object
-
- org.apache.mina.core.service.IoServiceListenerSupport
-
public class IoServiceListenerSupport extends java.lang.ObjectA helper class which provides addition and removal ofIoServiceListeners and firing events.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classIoServiceListenerSupport.LockNotifyingListenerA listener in charge of releasing the lock when the close has been completed
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBooleanactivatedprivate longactivationTimeTime this listenerSupport has been activatedprivate java.util.concurrent.atomic.AtomicLongcumulativeManagedSessionCountA global counter to count the number of sessions managed since the startprivate intlargestManagedSessionCountA counter used to store the maximum sessions we managed since the listenerSupport has been activatedprivate java.util.List<IoServiceListener>listenersA list ofIoServiceListeners.private java.util.concurrent.ConcurrentMap<java.lang.Long,IoSession>managedSessionsTracks managed sessions.private java.util.Map<java.lang.Long,IoSession>readOnlyManagedSessionsRead only version ofmanagedSessions.private IoServiceserviceTheIoServicethat this instance manages.
-
Constructor Summary
Constructors Constructor Description IoServiceListenerSupport(IoService service)Creates a new instance of the listenerSupport.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(IoServiceListener listener)Adds a new listener.private voiddisconnectSessions()Close all the sessionsvoidfireServiceActivated()CallsIoServiceListener.serviceActivated(IoService)for all registered listeners.voidfireServiceDeactivated()CallsIoServiceListener.serviceDeactivated(IoService)for all registered listeners.voidfireSessionCreated(IoSession session)CallsIoServiceListener.sessionCreated(IoSession)for all registered listeners.voidfireSessionDestroyed(IoSession session)CallsIoServiceListener.sessionDestroyed(IoSession)for all registered listeners.longgetActivationTime()longgetCumulativeManagedSessionCount()intgetLargestManagedSessionCount()intgetManagedSessionCount()java.util.Map<java.lang.Long,IoSession>getManagedSessions()booleanisActive()voidremove(IoServiceListener listener)Removes an existing listener.
-
-
-
Field Detail
-
listeners
private final java.util.List<IoServiceListener> listeners
A list ofIoServiceListeners.
-
managedSessions
private final java.util.concurrent.ConcurrentMap<java.lang.Long,IoSession> managedSessions
Tracks managed sessions.
-
readOnlyManagedSessions
private final java.util.Map<java.lang.Long,IoSession> readOnlyManagedSessions
Read only version ofmanagedSessions.
-
activated
private final java.util.concurrent.atomic.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 java.util.concurrent.atomic.AtomicLong cumulativeManagedSessionCount
A global counter to count the number of sessions managed since the start
-
-
Constructor Detail
-
IoServiceListenerSupport
public IoServiceListenerSupport(IoService service)
Creates a new instance of the listenerSupport.- Parameters:
service- The associated IoService
-
-
Method Detail
-
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 java.util.Map<java.lang.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()
CallsIoServiceListener.serviceActivated(IoService)for all registered listeners.
-
fireServiceDeactivated
public void fireServiceDeactivated()
CallsIoServiceListener.serviceDeactivated(IoService)for all registered listeners.
-
fireSessionCreated
public void fireSessionCreated(IoSession session)
CallsIoServiceListener.sessionCreated(IoSession)for all registered listeners.- Parameters:
session- The session which has been created
-
fireSessionDestroyed
public void fireSessionDestroyed(IoSession session)
CallsIoServiceListener.sessionDestroyed(IoSession)for all registered listeners.- Parameters:
session- The session which has been destroyed
-
disconnectSessions
private void disconnectSessions()
Close all the sessions
-
-