public final class MarkAwarePipeline
extends java.lang.Object
implements io.netty.channel.ChannelPipeline
ChannelPipeline that allows a mark-reset scheme for ChannelHandlers. This allows
temporary modifications to the underlying ChannelPipeline instance for usecases like pooled connections,
server response upgrades, etc.
This only supports a single mark at a time, although mark-reset-mark cycles can be repeated any number of times.
mark() and to reset back to the state before mark() was
called, call reset()
ChannelPipeline are delegated to the passed ChannelPipeline instance while
creation. mark() and reset() uses the same mutex as ChannelPipeline for synchronization
across different method calls.| Constructor and Description |
|---|
MarkAwarePipeline(io.netty.channel.ChannelPipeline delegate) |
| Modifier and Type | Method and Description |
|---|---|
io.netty.channel.ChannelPipeline |
addAfter(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addAfter(java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addBefore(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addBefore(java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addFirst(io.netty.channel.ChannelHandler... handlers) |
io.netty.channel.ChannelPipeline |
addFirst(io.netty.util.concurrent.EventExecutorGroup group,
io.netty.channel.ChannelHandler... handlers) |
io.netty.channel.ChannelPipeline |
addFirst(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addFirst(java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addLast(io.netty.channel.ChannelHandler... handlers) |
io.netty.channel.ChannelPipeline |
addLast(io.netty.util.concurrent.EventExecutorGroup group,
io.netty.channel.ChannelHandler... handlers) |
io.netty.channel.ChannelPipeline |
addLast(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelPipeline |
addLast(java.lang.String name,
io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelFuture |
bind(java.net.SocketAddress localAddress) |
io.netty.channel.ChannelFuture |
bind(java.net.SocketAddress localAddress,
io.netty.channel.ChannelPromise promise) |
io.netty.channel.Channel |
channel() |
io.netty.channel.ChannelFuture |
close() |
io.netty.channel.ChannelFuture |
close(io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelFuture |
connect(java.net.SocketAddress remoteAddress) |
io.netty.channel.ChannelFuture |
connect(java.net.SocketAddress remoteAddress,
io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelFuture |
connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress) |
io.netty.channel.ChannelFuture |
connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress,
io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelHandlerContext |
context(io.netty.channel.ChannelHandler handler) |
io.netty.channel.ChannelHandlerContext |
context(java.lang.Class<? extends io.netty.channel.ChannelHandler> handlerType) |
io.netty.channel.ChannelHandlerContext |
context(java.lang.String name) |
io.netty.channel.ChannelFuture |
deregister() |
io.netty.channel.ChannelFuture |
deregister(io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelFuture |
disconnect() |
io.netty.channel.ChannelFuture |
disconnect(io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelPipeline |
fireChannelActive() |
io.netty.channel.ChannelPipeline |
fireChannelInactive() |
io.netty.channel.ChannelPipeline |
fireChannelRead(java.lang.Object msg) |
io.netty.channel.ChannelPipeline |
fireChannelReadComplete() |
io.netty.channel.ChannelPipeline |
fireChannelRegistered() |
io.netty.channel.ChannelPipeline |
fireChannelUnregistered() |
io.netty.channel.ChannelPipeline |
fireChannelWritabilityChanged() |
io.netty.channel.ChannelPipeline |
fireExceptionCaught(java.lang.Throwable cause) |
io.netty.channel.ChannelPipeline |
fireUserEventTriggered(java.lang.Object event) |
io.netty.channel.ChannelHandler |
first() |
io.netty.channel.ChannelHandlerContext |
firstContext() |
io.netty.channel.ChannelPipeline |
flush() |
<T extends io.netty.channel.ChannelHandler> |
get(java.lang.Class<T> handlerType) |
io.netty.channel.ChannelHandler |
get(java.lang.String name) |
boolean |
isMarked() |
java.util.Iterator<java.util.Map.Entry<java.lang.String,io.netty.channel.ChannelHandler>> |
iterator() |
io.netty.channel.ChannelHandler |
last() |
io.netty.channel.ChannelHandlerContext |
lastContext() |
MarkAwarePipeline |
mark()
Marks this pipeline and record further changes which can be reverted by calling
reset() |
MarkAwarePipeline |
markIfNotYetMarked()
Marks this pipeline and record further changes which can be reverted by calling
reset() |
java.util.List<java.lang.String> |
names() |
io.netty.channel.ChannelFuture |
newFailedFuture(java.lang.Throwable cause) |
io.netty.channel.ChannelProgressivePromise |
newProgressivePromise() |
io.netty.channel.ChannelPromise |
newPromise() |
io.netty.channel.ChannelFuture |
newSucceededFuture() |
io.netty.channel.ChannelOutboundInvoker |
read() |
io.netty.channel.ChannelPipeline |
remove(io.netty.channel.ChannelHandler handler) |
<T extends io.netty.channel.ChannelHandler> |
remove(java.lang.Class<T> handlerType) |
io.netty.channel.ChannelHandler |
remove(java.lang.String name) |
io.netty.channel.ChannelHandler |
removeFirst() |
io.netty.channel.ChannelHandler |
removeLast() |
io.netty.channel.ChannelPipeline |
replace(io.netty.channel.ChannelHandler oldHandler,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler) |
<T extends io.netty.channel.ChannelHandler> |
replace(java.lang.Class<T> oldHandlerType,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler) |
io.netty.channel.ChannelHandler |
replace(java.lang.String oldName,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler) |
MarkAwarePipeline |
reset()
|
java.util.Map<java.lang.String,io.netty.channel.ChannelHandler> |
toMap() |
io.netty.channel.ChannelPromise |
voidPromise() |
io.netty.channel.ChannelFuture |
write(java.lang.Object msg) |
io.netty.channel.ChannelFuture |
write(java.lang.Object msg,
io.netty.channel.ChannelPromise promise) |
io.netty.channel.ChannelFuture |
writeAndFlush(java.lang.Object msg) |
io.netty.channel.ChannelFuture |
writeAndFlush(java.lang.Object msg,
io.netty.channel.ChannelPromise promise) |
public MarkAwarePipeline(io.netty.channel.ChannelPipeline delegate)
public MarkAwarePipeline mark()
reset()java.lang.IllegalStateException - If this method is called more than once without calling reset() in
between.public MarkAwarePipeline markIfNotYetMarked()
reset()java.lang.IllegalStateException - If this method is called more than once without calling reset() in
between.public MarkAwarePipeline reset()
public boolean isMarked()
public io.netty.channel.ChannelPipeline addFirst(java.lang.String name,
io.netty.channel.ChannelHandler handler)
addFirst in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addFirst in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addLast(java.lang.String name,
io.netty.channel.ChannelHandler handler)
addLast in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addLast in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addBefore(java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addBefore in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addBefore(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addBefore in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addAfter(java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addAfter in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addAfter(io.netty.util.concurrent.EventExecutorGroup group,
java.lang.String baseName,
java.lang.String name,
io.netty.channel.ChannelHandler handler)
addAfter in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler... handlers)
addFirst in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup group,
io.netty.channel.ChannelHandler... handlers)
addFirst in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler... handlers)
addLast in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup group,
io.netty.channel.ChannelHandler... handlers)
addLast in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline remove(io.netty.channel.ChannelHandler handler)
remove in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler remove(java.lang.String name)
remove in interface io.netty.channel.ChannelPipelinepublic <T extends io.netty.channel.ChannelHandler> T remove(java.lang.Class<T> handlerType)
remove in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler removeFirst()
removeFirst in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler removeLast()
removeLast in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline replace(io.netty.channel.ChannelHandler oldHandler,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler)
replace in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler replace(java.lang.String oldName,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler)
replace in interface io.netty.channel.ChannelPipelinepublic <T extends io.netty.channel.ChannelHandler> T replace(java.lang.Class<T> oldHandlerType,
java.lang.String newName,
io.netty.channel.ChannelHandler newHandler)
replace in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler first()
first in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandlerContext firstContext()
firstContext in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler last()
last in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandlerContext lastContext()
lastContext in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandler get(java.lang.String name)
get in interface io.netty.channel.ChannelPipelinepublic <T extends io.netty.channel.ChannelHandler> T get(java.lang.Class<T> handlerType)
get in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandlerContext context(io.netty.channel.ChannelHandler handler)
context in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandlerContext context(java.lang.String name)
context in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelHandlerContext context(java.lang.Class<? extends io.netty.channel.ChannelHandler> handlerType)
context in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.Channel channel()
channel in interface io.netty.channel.ChannelPipelinepublic java.util.List<java.lang.String> names()
names in interface io.netty.channel.ChannelPipelinepublic java.util.Map<java.lang.String,io.netty.channel.ChannelHandler> toMap()
toMap in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelRegistered()
fireChannelRegistered in interface io.netty.channel.ChannelInboundInvokerfireChannelRegistered in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelUnregistered()
fireChannelUnregistered in interface io.netty.channel.ChannelInboundInvokerfireChannelUnregistered in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelActive()
fireChannelActive in interface io.netty.channel.ChannelInboundInvokerfireChannelActive in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelInactive()
fireChannelInactive in interface io.netty.channel.ChannelInboundInvokerfireChannelInactive in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable cause)
fireExceptionCaught in interface io.netty.channel.ChannelInboundInvokerfireExceptionCaught in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object event)
fireUserEventTriggered in interface io.netty.channel.ChannelInboundInvokerfireUserEventTriggered in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object msg)
fireChannelRead in interface io.netty.channel.ChannelInboundInvokerfireChannelRead in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelReadComplete()
fireChannelReadComplete in interface io.netty.channel.ChannelInboundInvokerfireChannelReadComplete in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelPipeline fireChannelWritabilityChanged()
fireChannelWritabilityChanged in interface io.netty.channel.ChannelInboundInvokerfireChannelWritabilityChanged in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelFuture bind(java.net.SocketAddress localAddress)
bind in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture connect(java.net.SocketAddress remoteAddress)
connect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
connect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture disconnect()
disconnect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture close()
close in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture deregister()
deregister in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture bind(java.net.SocketAddress localAddress,
io.netty.channel.ChannelPromise promise)
bind in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture connect(java.net.SocketAddress remoteAddress,
io.netty.channel.ChannelPromise promise)
connect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress,
io.netty.channel.ChannelPromise promise)
connect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise promise)
disconnect in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise promise)
close in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise promise)
deregister in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelOutboundInvoker read()
read in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture write(java.lang.Object msg)
write in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture write(java.lang.Object msg,
io.netty.channel.ChannelPromise promise)
write in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelPipeline flush()
flush in interface io.netty.channel.ChannelOutboundInvokerflush in interface io.netty.channel.ChannelPipelinepublic io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object msg,
io.netty.channel.ChannelPromise promise)
writeAndFlush in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object msg)
writeAndFlush in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelPromise newPromise()
newPromise in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelProgressivePromise newProgressivePromise()
newProgressivePromise in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture newSucceededFuture()
newSucceededFuture in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelFuture newFailedFuture(java.lang.Throwable cause)
newFailedFuture in interface io.netty.channel.ChannelOutboundInvokerpublic io.netty.channel.ChannelPromise voidPromise()
voidPromise in interface io.netty.channel.ChannelOutboundInvokerpublic java.util.Iterator<java.util.Map.Entry<java.lang.String,io.netty.channel.ChannelHandler>> iterator()
iterator in interface java.lang.Iterable<java.util.Map.Entry<java.lang.String,io.netty.channel.ChannelHandler>>