Class ShutdownableChannelGroup
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<io.netty.channel.Channel>
io.netty.channel.group.DefaultChannelGroup
com.linkedin.alpini.netty4.handlers.ShutdownableChannelGroup
- All Implemented Interfaces:
Shutdownable,ShutdownableResource,io.netty.channel.group.ChannelGroup,Comparable<io.netty.channel.group.ChannelGroup>,Iterable<io.netty.channel.Channel>,Collection<io.netty.channel.Channel>,Set<io.netty.channel.Channel>
public class ShutdownableChannelGroup
extends io.netty.channel.group.DefaultChannelGroup
implements ShutdownableResource
-
Constructor Summary
ConstructorsConstructorDescriptionShutdownableChannelGroup(io.netty.util.concurrent.EventExecutor executor) Creates a new group with a generated name and the providedEventExecutorto notify theChannelGroupFutures.ShutdownableChannelGroup(io.netty.util.concurrent.EventExecutor executor, boolean stayClosed) Creates a new group with a generated name and the providedEventExecutorto notify theChannelGroupFutures.ShutdownableChannelGroup(String name, io.netty.util.concurrent.EventExecutor executor) Creates a new group with the specifiednameandEventExecutorto notify theChannelGroupFutures.ShutdownableChannelGroup(String name, io.netty.util.concurrent.EventExecutor executor, boolean stayClosed) Creates a new group with the specifiednameandEventExecutorto notify theChannelGroupFutures. -
Method Summary
Modifier and TypeMethodDescriptionbooleaninthashCode()booleanReturns true if this resource has been shut down.booleanReturns true if the resource has completed shutting down.voidshutdown()Starts the shutdown process.voidWaits for shutdown to completevoidwaitForShutdown(long timeoutInMs) Waits for shutdown to complete with a timeoutMethods inherited from class io.netty.channel.group.DefaultChannelGroup
add, clear, close, close, compareTo, contains, deregister, deregister, disconnect, disconnect, find, flush, flush, flushAndWrite, flushAndWrite, isEmpty, iterator, name, newCloseFuture, newCloseFuture, remove, size, toArray, toArray, toString, write, write, write, writeAndFlush, writeAndFlush, writeAndFlushMethods inherited from class java.util.AbstractSet
removeAllMethods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAllMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.Set
addAll, containsAll, removeAll, retainAll, spliterator
-
Constructor Details
-
ShutdownableChannelGroup
public ShutdownableChannelGroup(io.netty.util.concurrent.EventExecutor executor) Creates a new group with a generated name and the providedEventExecutorto notify theChannelGroupFutures.- Parameters:
executor-
-
ShutdownableChannelGroup
Creates a new group with the specifiednameandEventExecutorto notify theChannelGroupFutures. Please note that different groups can have the same name, which means no duplicate check is done against group names.- Parameters:
name-executor-
-
ShutdownableChannelGroup
public ShutdownableChannelGroup(io.netty.util.concurrent.EventExecutor executor, boolean stayClosed) Creates a new group with a generated name and the providedEventExecutorto notify theChannelGroupFutures.stayCloseddefines whether or not, this group can be closed more than once. Adding channels to a closed group will immediately close them, too. This makes it easy, to shutdown server and child channels at once.- Parameters:
executor-stayClosed-
-
ShutdownableChannelGroup
public ShutdownableChannelGroup(String name, io.netty.util.concurrent.EventExecutor executor, boolean stayClosed) Creates a new group with the specifiednameandEventExecutorto notify theChannelGroupFutures.stayCloseddefines whether or not, this group can be closed more than once. Adding channels to a closed group will immediately close them, too. This makes it easy, to shutdown server and child channels at once. Please note that different groups can have the same name, which means no duplicate check is done against group names.- Parameters:
name-executor-stayClosed-
-
-
Method Details
-
equals
- Specified by:
equalsin interfaceCollection<io.netty.channel.Channel>- Specified by:
equalsin interfaceSet<io.netty.channel.Channel>- Overrides:
equalsin classio.netty.channel.group.DefaultChannelGroup
-
isShutdown
public boolean isShutdown()Description copied from interface:ShutdownableResourceReturns true if this resource has been shut down.- Specified by:
isShutdownin interfaceShutdownableResource- Returns:
- true if this resource has been shut down
-
isTerminated
public boolean isTerminated()Description copied from interface:ShutdownableResourceReturns true if the resource has completed shutting down. Note that isTerminated is never true unless shutdown was called first.- Specified by:
isTerminatedin interfaceShutdownableResource- Returns:
- true if the resource has completed shutting down.
-
shutdown
public void shutdown()Description copied from interface:ShutdownableStarts the shutdown process. It is recommended to perform the actual shutdown activity in a separate thread from the thread that calls shutdown- Specified by:
shutdownin interfaceShutdownable
-
waitForShutdown
Description copied from interface:ShutdownableWaits for shutdown to complete- Specified by:
waitForShutdownin interfaceShutdownable- Throws:
InterruptedException- when the wait is interruptedIllegalStateException- when the method is invoked when the shutdown has yet to be started
-
waitForShutdown
public void waitForShutdown(long timeoutInMs) throws InterruptedException, IllegalStateException, TimeoutException Description copied from interface:ShutdownableWaits for shutdown to complete with a timeout- Specified by:
waitForShutdownin interfaceShutdownable- Parameters:
timeoutInMs- number of milliseconds to wait before throwing TimeoutException- Throws:
InterruptedException- when the wait is interruptedIllegalStateException- when the method is invoked when the shutdown has yet to be startedTimeoutException- when the operation times out
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<io.netty.channel.Channel>- Specified by:
hashCodein interfaceSet<io.netty.channel.Channel>- Overrides:
hashCodein classio.netty.channel.group.DefaultChannelGroup
-