private static class Ctx.ChannelForwardHolder
extends java.lang.Object
It uses WeakReference to avoid holding references to channel if the monitor event is lost.
A class is used as a lock in lazy allocation of the needed objects.
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicInteger |
handleSource |
private java.util.Map<java.lang.Integer,java.lang.ref.WeakReference<java.nio.channels.SelectableChannel>> |
map |
private java.lang.ref.ReferenceQueue<java.nio.channels.SelectableChannel> |
queue |
private java.util.Map<java.lang.ref.WeakReference<java.nio.channels.SelectableChannel>,java.lang.Integer> |
reversemap |
Modifier | Constructor and Description |
---|---|
private |
ChannelForwardHolder() |
private final java.util.concurrent.atomic.AtomicInteger handleSource
private final java.util.Map<java.lang.Integer,java.lang.ref.WeakReference<java.nio.channels.SelectableChannel>> map
private final java.util.Map<java.lang.ref.WeakReference<java.nio.channels.SelectableChannel>,java.lang.Integer> reversemap
private final java.lang.ref.ReferenceQueue<java.nio.channels.SelectableChannel> queue