Package org.jboss.netty.channel
Class ChannelLocal<T>
java.lang.Object
org.jboss.netty.channel.ChannelLocal<T>
A global variable that is local to a
Channel
. Think of this as a
variation of ThreadLocal
whose key is a Channel
rather than
a Thread.currentThread()
. One difference is that you always have to
specify the Channel
to access the variable.
Alternatively, you might want to use the
ChannelHandlerContext.attachment
property, which performs better.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentMap
<Channel, T> private final boolean
private final ChannelFutureListener
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of this variable.protected T
initialValue
(Channel channel) Returns the initial value of the variable.iterator()
Removes the variable and returns the removed value.Sets the value of this variable.setIfAbsent
(Channel channel, T value) Sets the value of this variable only when no value was set.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
map
-
remover
-
removeOnClose
private final boolean removeOnClose
-
-
Constructor Details
-
ChannelLocal
public ChannelLocal() -
ChannelLocal
public ChannelLocal(boolean removeOnClose) Creates aChannel
local variable.- Parameters:
removeOnClose
- iftrue
theChannelLocal
will remove aChannel
from it own once theChannel
was closed.
-
-
Method Details
-
initialValue
Returns the initial value of the variable. By default, it returnsnull
. Override it to change the initial value.- Parameters:
channel
- the channel where this local variable is accessed with
-
get
Returns the value of this variable. -
set
Sets the value of this variable.- Returns:
- the old value.
null
if there was no old value.
-
setIfAbsent
Sets the value of this variable only when no value was set.- Returns:
null
if the specified value was set. An existing value if failed to set.
-
remove
Removes the variable and returns the removed value. If no value was set, this method returns the return value ofinitialValue(Channel)
, which isnull
by default.- Returns:
- the removed value.
an initial value (by default
null
) if no value was set.
-
iterator
-