public class IoServiceListenerSupport
extends java.lang.Object
IoServiceListeners and firing
events.| Modifier and Type | Class and Description |
|---|---|
private static class |
IoServiceListenerSupport.LockNotifyingListener
A listener in charge of releasing the lock when the close has been completed
|
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.atomic.AtomicBoolean |
activated |
private long |
activationTime
Time this listenerSupport has been activated
|
private long |
cumulativeManagedSessionCount
A global counter to count the number of sessions managed since the start
|
private int |
largestManagedSessionCount
A counter used to store the maximum sessions we managed since the listenerSupport has been activated
|
private java.util.List<IoServiceListener> |
listeners
A list of
IoServiceListeners. |
private java.util.concurrent.ConcurrentMap<java.lang.Long,IoSession> |
managedSessions
Tracks managed sessions.
|
private java.util.Map<java.lang.Long,IoSession> |
readOnlyManagedSessions
Read only version of
managedSessions. |
private IoService |
service
The
IoService that this instance manages. |
| Constructor and Description |
|---|
IoServiceListenerSupport(IoService service)
Creates a new instance of the listenerSupport.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(IoServiceListener listener)
Adds a new listener.
|
private void |
disconnectSessions()
Close all the sessions
TODO disconnectSessions.
|
void |
fireServiceActivated()
Calls
IoServiceListener.serviceActivated(IoService)
for all registered listeners. |
void |
fireServiceDeactivated()
Calls
IoServiceListener.serviceDeactivated(IoService)
for all registered listeners. |
void |
fireSessionCreated(IoSession session)
Calls
IoServiceListener.sessionCreated(IoSession) for all registered listeners. |
void |
fireSessionDestroyed(IoSession session)
Calls
IoServiceListener.sessionDestroyed(IoSession) for all registered listeners. |
long |
getActivationTime() |
long |
getCumulativeManagedSessionCount() |
int |
getLargestManagedSessionCount() |
int |
getManagedSessionCount() |
java.util.Map<java.lang.Long,IoSession> |
getManagedSessions() |
boolean |
isActive() |
void |
remove(IoServiceListener listener)
Removes an existing listener.
|
private final java.util.List<IoServiceListener> listeners
IoServiceListeners.private final java.util.concurrent.ConcurrentMap<java.lang.Long,IoSession> managedSessions
private final java.util.Map<java.lang.Long,IoSession> readOnlyManagedSessions
managedSessions.private final java.util.concurrent.atomic.AtomicBoolean activated
private volatile long activationTime
private volatile int largestManagedSessionCount
private volatile long cumulativeManagedSessionCount
public IoServiceListenerSupport(IoService service)
service - The associated IoServicepublic void add(IoServiceListener listener)
listener - The added listenerpublic void remove(IoServiceListener listener)
listener - The listener to removepublic long getActivationTime()
public java.util.Map<java.lang.Long,IoSession> getManagedSessions()
public int getManagedSessionCount()
public int getLargestManagedSessionCount()
public long getCumulativeManagedSessionCount()
public boolean isActive()
public void fireServiceActivated()
IoServiceListener.serviceActivated(IoService)
for all registered listeners.public void fireServiceDeactivated()
IoServiceListener.serviceDeactivated(IoService)
for all registered listeners.public void fireSessionCreated(IoSession session)
IoServiceListener.sessionCreated(IoSession) for all registered listeners.session - The session which has been createdpublic void fireSessionDestroyed(IoSession session)
IoServiceListener.sessionDestroyed(IoSession) for all registered listeners.session - The session which has been destroyedprivate void disconnectSessions()