Class IoServiceListenerSupport
java.lang.Object
org.apache.mina.core.service.IoServiceListenerSupport
A helper class which provides addition and removal of
IoServiceListeners and firing
events.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classA listener in charge of releasing the lock when the close has been completed -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicBooleanprivate longTime this listenerSupport has been activatedprivate AtomicLongA global counter to count the number of sessions managed since the startprivate intA counter used to store the maximum sessions we managed since the listenerSupport has been activatedprivate final List<IoServiceListener> A list ofIoServiceListeners.private final ConcurrentMap<Long, IoSession> Tracks managed sessions.Read only version ofmanagedSessions.private final IoServiceTheIoServicethat this instance manages. -
Constructor Summary
ConstructorsConstructorDescriptionIoServiceListenerSupport(IoService service) Creates a new instance of the listenerSupport. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(IoServiceListener listener) Adds a new listener.private voidClose all the sessionsvoidCallsIoServiceListener.serviceActivated(IoService)for all registered listeners.voidCallsIoServiceListener.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.longlongintintbooleanisActive()voidremove(IoServiceListener listener) Removes an existing listener.
-
Field Details
-
service
-
listeners
A list ofIoServiceListeners. -
managedSessions
Tracks managed sessions. -
readOnlyManagedSessions
Read only version ofmanagedSessions. -
activated
-
activationTime
private volatile long activationTimeTime this listenerSupport has been activated -
largestManagedSessionCount
private volatile int largestManagedSessionCountA counter used to store the maximum sessions we managed since the listenerSupport has been activated -
cumulativeManagedSessionCount
A global counter to count the number of sessions managed since the start
-
-
Constructor Details
-
IoServiceListenerSupport
Creates a new instance of the listenerSupport.- Parameters:
service- The associated IoService
-
-
Method Details
-
add
Adds a new listener.- Parameters:
listener- The added listener
-
remove
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
-
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
CallsIoServiceListener.sessionCreated(IoSession)for all registered listeners.- Parameters:
session- The session which has been created
-
fireSessionDestroyed
CallsIoServiceListener.sessionDestroyed(IoSession)for all registered listeners.- Parameters:
session- The session which has been destroyed
-
disconnectSessions
private void disconnectSessions()Close all the sessions
-