Top Description Fields Constructors Methods
io.netty.channel.group

public Class DefaultChannelGroup

extends AbstractSet<Channel>
implements ChannelGroup
Class Inheritance
All Implemented Interfaces
io.netty.channel.group.ChannelGroup, java.lang.Comparable, java.util.Set, java.util.Collection, java.lang.Iterable
Imports
io.netty.buffer.ByteBuf, .ByteBufHolder, io.netty.channel.Channel, .ChannelFuture, .ChannelFutureListener, .ChannelId, .ServerChannel, io.netty.util.ReferenceCountUtil, io.netty.util.concurrent.EventExecutor, io.netty.util.internal.ObjectUtil, .PlatformDependent, .StringUtil, java.util.AbstractSet, .ArrayList, .Collection, .Iterator, .LinkedHashMap, .Map, java.util.concurrent.ConcurrentMap, java.util.concurrent.atomic.AtomicInteger

The default ChannelGroup implementation.

Field Summary

Modifier and TypeField and Description
private volatile boolean
private final EventExecutor
private final String
private static final AtomicInteger
private final ConcurrentMap<ChannelId, Channel>
private final ChannelFutureListener
private final ConcurrentMap<ChannelId, Channel>
private final boolean
private final VoidChannelGroupFuture

Constructor Summary

AccessConstructor and Description
public
DefaultChannelGroup(EventExecutor executor)

Creates a new group with a generated name and the provided EventExecutor to notify the ChannelGroupFutures.

public
DefaultChannelGroup(String name, EventExecutor executor)

Creates a new group with the specified name and EventExecutor to notify the ChannelGroupFutures.

public
DefaultChannelGroup(EventExecutor executor, boolean stayClosed)

Creates a new group with a generated name and the provided EventExecutor to notify the ChannelGroupFutures.

public
DefaultChannelGroup(String name, EventExecutor executor, boolean stayClosed)

Creates a new group with the specified name and EventExecutor to notify the ChannelGroupFutures.

Method Summary

Modifier and TypeMethod and Description
public boolean
add(Channel
element to be added to this set
channel
)

Overrides java.util.AbstractCollection.add.

Implements java.util.Set.add, java.util.Collection.add.

Adds the specified element to this set if it is not already present (optional operation).
public void
clear()

Overrides java.util.AbstractCollection.clear.

Implements java.util.Set.clear, java.util.Collection.clear.

Removes all of the elements from this set (optional operation).
public ChannelGroupFuture
close()

Implements io.netty.channel.group.ChannelGroup.close.

Closes all Channels in this group.
public ChannelGroupFuture
close(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.close.

Closes all Channels in this group that are matched by the given ChannelMatcher.
public int
compareTo(ChannelGroup
the object to be compared.
o
)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.
public boolean
contains(Object
element whose presence in this set is to be tested
o
)

Overrides java.util.AbstractCollection.contains.

Implements java.util.Set.contains, java.util.Collection.contains.

Returns true if this set contains the specified element.
public ChannelGroupFuture
public ChannelGroupFuture
public ChannelGroupFuture
disconnect()

Implements io.netty.channel.group.ChannelGroup.disconnect.

Disconnects all Channels in this group from their remote peers.
public ChannelGroupFuture
disconnect(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.disconnect.

Disconnects all Channels in this group from their remote peers, that are matched by the given ChannelMatcher.
public boolean
equals(Object
object to be compared for equality with this set
o
)

Overrides java.util.AbstractSet.equals.

Implements java.util.Set.equals, java.util.Collection.equals.

Compares the specified object with this set for equality.
public Channel
find(ChannelId id)

Implements io.netty.channel.group.ChannelGroup.find.

Returns the Channel which has the specified ChannelId.
public ChannelGroup
flush()

Implements io.netty.channel.group.ChannelGroup.flush.

Flush all Channels in this group.
public ChannelGroup
flush(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.flush.

Flush all Channels in this group that are matched by the given ChannelMatcher.
public ChannelGroupFuture
public ChannelGroupFuture
public int
hashCode()

Overrides java.util.AbstractSet.hashCode.

Implements java.util.Set.hashCode, java.util.Collection.hashCode.

Returns the hash code value for this set.
public boolean
isEmpty()

Overrides java.util.AbstractCollection.isEmpty.

Implements java.util.Set.isEmpty, java.util.Collection.isEmpty.

Returns true if this set contains no elements.
public Iterator<Channel>
iterator()

Implements abstract java.util.AbstractCollection.iterator.

Implements java.util.Set.iterator, java.util.Collection.iterator.

Returns an iterator over the elements in this set.
public String
name()

Implements io.netty.channel.group.ChannelGroup.name.

Returns the name of this group.
public ChannelGroupFuture
newCloseFuture()

Implements io.netty.channel.group.ChannelGroup.newCloseFuture.

Returns the ChannelGroupFuture which will be notified when all Channels that are part of this ChannelGroup, at the time of calling, are closed.
public ChannelGroupFuture
newCloseFuture(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.newCloseFuture.

Returns the ChannelGroupFuture which will be notified when all Channels that are part of this ChannelGroup, at the time of calling, are closed.
public boolean
remove(Object
object to be removed from this set, if present
o
)

Overrides java.util.AbstractCollection.remove.

Implements java.util.Set.remove, java.util.Collection.remove.

Removes the specified element from this set if it is present (optional operation).
private static Object
public int
size()

Implements abstract java.util.AbstractCollection.size.

Implements java.util.Set.size, java.util.Collection.size.

Returns the number of elements in this set (its cardinality).
public Object[]
toArray()

Overrides java.util.AbstractCollection.toArray.

Implements java.util.Set.toArray, java.util.Collection.toArray.

Returns an array containing all of the elements in this set.
public <T> T[]
toArray(T[]
the array into which the elements of this set are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
a
)

Overrides java.util.AbstractCollection.toArray.

Implements java.util.Set.toArray, java.util.Collection.toArray.

Returns an array containing all of the elements in this set; the runtime type of the returned array is that of the specified array.
public String
toString()

Overrides java.util.AbstractCollection.toString.

Returns a string representation of this collection.
public ChannelGroupFuture
write(Object message)

Implements io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group.
public ChannelGroupFuture
write(Object message, ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group that are matched by the given ChannelMatcher.
public ChannelGroupFuture
write(Object message, ChannelMatcher matcher, boolean voidPromise)

Implements io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group that are matched by the given ChannelMatcher.
public ChannelGroupFuture
public ChannelGroupFuture
writeAndFlush(Object message, ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.writeAndFlush.

Shortcut for calling write(Object) and flush() and only act on Channels that are matched by the ChannelMatcher.
public ChannelGroupFuture
writeAndFlush(Object message, ChannelMatcher matcher, boolean voidPromise)

Implements io.netty.channel.group.ChannelGroup.writeAndFlush.

Shortcut for calling write(Object, ChannelMatcher, boolean) and flush() and only act on Channels that are matched by the ChannelMatcher.
Inherited from java.util.AbstractSet:
removeAll

Field Detail

closedback to summary
private volatile boolean closed
executorback to summary
private final EventExecutor executor
nameback to summary
private final String name
nextIdback to summary
private static final AtomicInteger nextId
nonServerChannelsback to summary
private final ConcurrentMap<ChannelId, Channel> nonServerChannels
removerback to summary
private final ChannelFutureListener remover
serverChannelsback to summary
private final ConcurrentMap<ChannelId, Channel> serverChannels
stayClosedback to summary
private final boolean stayClosed
voidFutureback to summary
private final VoidChannelGroupFuture voidFuture

Constructor Detail

DefaultChannelGroupback to summary
public DefaultChannelGroup(EventExecutor executor)

Creates a new group with a generated name and the provided EventExecutor to notify the ChannelGroupFutures.

DefaultChannelGroupback to summary
public DefaultChannelGroup(String name, EventExecutor executor)

Creates a new group with the specified name and EventExecutor to notify the ChannelGroupFutures. Please note that different groups can have the same name, which means no duplicate check is done against group names.

DefaultChannelGroupback to summary
public DefaultChannelGroup(EventExecutor executor, boolean stayClosed)

Creates a new group with a generated name and the provided EventExecutor to notify the ChannelGroupFutures. stayClosed defines 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.

DefaultChannelGroupback to summary
public DefaultChannelGroup(String name, EventExecutor executor, boolean stayClosed)

Creates a new group with the specified name and EventExecutor to notify the ChannelGroupFutures. stayClosed defines 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.

Method Detail

addback to summary
public boolean add(Channel channel)

Overrides java.util.AbstractCollection.add.

Implements java.util.Set.add, java.util.Collection.add.

Doc from java.util.Set.add.

Adds the specified element to this set if it is not already present (optional operation). More formally, adds the specified element e to this set if the set contains no element e2 such that Objects.equals(e, e2). If this set already contains the element, the call leaves the set unchanged and returns false. In combination with the restriction on constructors, this ensures that sets never contain duplicate elements.

The stipulation above does not imply that sets must accept all elements; sets may refuse to add any particular element, including null, and throw an exception, as described in the specification for Collection.add. Individual set implementations should clearly document any restrictions on the elements that they may contain.

Parameters
channel:Channel

element to be added to this set

Returns:boolean

true if this set did not already contain the specified element

Annotations
@Override
clearback to summary
public void clear()

Overrides java.util.AbstractCollection.clear.

Implements java.util.Set.clear, java.util.Collection.clear.

Doc from java.util.Set.clear.

Removes all of the elements from this set (optional operation). The set will be empty after this call returns.

Annotations
@Override
closeback to summary
public ChannelGroupFuture close()

Implements io.netty.channel.group.ChannelGroup.close.

Doc from io.netty.channel.group.ChannelGroup.close.

Closes all Channels in this group. If the Channel is connected to a remote peer or bound to a local address, it is automatically disconnected and unbound.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
closeback to summary
public ChannelGroupFuture close(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.close.

Doc from io.netty.channel.group.ChannelGroup.close.

Closes all Channels in this group that are matched by the given ChannelMatcher. If the Channel is connected to a remote peer or bound to a local address, it is automatically disconnected and unbound.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
compareToback to summary
public int compareTo(ChannelGroup o)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Parameters
o:ChannelGroup

the object to be compared.

Returns:int

a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Annotations
@Override
containsback to summary
public boolean contains(Object o)

Overrides java.util.AbstractCollection.contains.

Implements java.util.Set.contains, java.util.Collection.contains.

Doc from java.util.Set.contains.

Returns true if this set contains the specified element. More formally, returns true if and only if this set contains an element e such that Objects.equals(o, e).

Parameters
o:Object

element whose presence in this set is to be tested

Returns:boolean

true if this set contains the specified element

Annotations
@Override
deregisterback to summary
public ChannelGroupFuture deregister()

Implements io.netty.channel.group.ChannelGroup.deregister.

Returns:ChannelGroupFuture

Doc from io.netty.channel.group.ChannelGroup.deregister.

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
deregisterback to summary
public ChannelGroupFuture deregister(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.deregister.

Returns:ChannelGroupFuture

Doc from io.netty.channel.group.ChannelGroup.deregister.

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
disconnectback to summary
public ChannelGroupFuture disconnect()

Implements io.netty.channel.group.ChannelGroup.disconnect.

Doc from io.netty.channel.group.ChannelGroup.disconnect.

Disconnects all Channels in this group from their remote peers.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
disconnectback to summary
public ChannelGroupFuture disconnect(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.disconnect.

Doc from io.netty.channel.group.ChannelGroup.disconnect.

Disconnects all Channels in this group from their remote peers, that are matched by the given ChannelMatcher.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
equalsback to summary
public boolean equals(Object o)

Overrides java.util.AbstractSet.equals.

Implements java.util.Set.equals, java.util.Collection.equals.

Doc from java.util.Set.equals.

Compares the specified object with this set for equality. Returns true if the specified object is also a set, the two sets have the same size, and every member of the specified set is contained in this set (or equivalently, every member of this set is contained in the specified set). This definition ensures that the equals method works properly across different implementations of the set interface.

Parameters
o:Object

object to be compared for equality with this set

Returns:boolean

true if the specified object is equal to this set

Annotations
@Override
findback to summary
public Channel find(ChannelId id)

Implements io.netty.channel.group.ChannelGroup.find.

Doc from io.netty.channel.group.ChannelGroup.find.

Returns the Channel which has the specified ChannelId.

Returns:Channel

the matching Channel if found. null otherwise.

Annotations
@Override
flushback to summary
public ChannelGroup flush()

Implements io.netty.channel.group.ChannelGroup.flush.

Doc from io.netty.channel.group.ChannelGroup.flush.

Flush all Channels in this group. If the specified messages are an instance of ByteBuf, it is automatically duplicated to avoid a race condition. Please note that this operation is asynchronous as Channel#write(Object) is.

Returns:ChannelGroup

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
flushback to summary
public ChannelGroup flush(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.flush.

Doc from io.netty.channel.group.ChannelGroup.flush.

Flush all Channels in this group that are matched by the given ChannelMatcher. If the specified messages are an instance of ByteBuf, it is automatically duplicated to avoid a race condition. Please note that this operation is asynchronous as Channel#write(Object) is.

Returns:ChannelGroup

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
flushAndWriteback to summary
public ChannelGroupFuture flushAndWrite(Object message)

Implements io.netty.channel.group.ChannelGroup.flushAndWrite.

Annotations
@Override
flushAndWriteback to summary
public ChannelGroupFuture flushAndWrite(Object message, ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.flushAndWrite.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.util.AbstractSet.hashCode.

Implements java.util.Set.hashCode, java.util.Collection.hashCode.

Doc from java.util.Set.hashCode.

Returns the hash code value for this set. The hash code of a set is defined to be the sum of the hash codes of the elements in the set, where the hash code of a null element is defined to be zero. This ensures that s1.equals(s2) implies that s1.hashCode()==s2.hashCode() for any two sets s1 and s2, as required by the general contract of Object#hashCode.

Returns:int

the hash code value for this set

Annotations
@Override
isEmptyback to summary
public boolean isEmpty()

Overrides java.util.AbstractCollection.isEmpty.

Implements java.util.Set.isEmpty, java.util.Collection.isEmpty.

Doc from java.util.Set.isEmpty.

Returns true if this set contains no elements.

Returns:boolean

true if this set contains no elements

Annotations
@Override
iteratorback to summary
public Iterator<Channel> iterator()

Implements abstract java.util.AbstractCollection.iterator.

Implements java.util.Set.iterator, java.util.Collection.iterator.

Doc from java.util.Set.iterator.

Returns an iterator over the elements in this set. The elements are returned in no particular order (unless this set is an instance of some class that provides a guarantee).

Returns:Iterator<Channel>

an iterator over the elements in this set

Annotations
@Override
nameback to summary
public String name()

Implements io.netty.channel.group.ChannelGroup.name.

Doc from io.netty.channel.group.ChannelGroup.name.

Returns the name of this group. A group name is purely for helping you to distinguish one group from others.

Annotations
@Override
newCloseFutureback to summary
public ChannelGroupFuture newCloseFuture()

Implements io.netty.channel.group.ChannelGroup.newCloseFuture.

Doc from io.netty.channel.group.ChannelGroup.newCloseFuture.

Returns the ChannelGroupFuture which will be notified when all Channels that are part of this ChannelGroup, at the time of calling, are closed.

Annotations
@Override
newCloseFutureback to summary
public ChannelGroupFuture newCloseFuture(ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.newCloseFuture.

Doc from io.netty.channel.group.ChannelGroup.newCloseFuture.

Returns the ChannelGroupFuture which will be notified when all Channels that are part of this ChannelGroup, at the time of calling, are closed.

Annotations
@Override
removeback to summary
public boolean remove(Object o)

Overrides java.util.AbstractCollection.remove.

Implements java.util.Set.remove, java.util.Collection.remove.

Doc from java.util.Set.remove.

Removes the specified element from this set if it is present (optional operation). More formally, removes an element e such that Objects.equals(o, e), if this set contains such an element. Returns true if this set contained the element (or equivalently, if this set changed as a result of the call). (This set will not contain the element once the call returns.)

Parameters
o:Object

object to be removed from this set, if present

Returns:boolean

true if this set contained the specified element

Annotations
@Override
safeDuplicateback to summary
private static Object safeDuplicate(Object message)
sizeback to summary
public int size()

Implements abstract java.util.AbstractCollection.size.

Implements java.util.Set.size, java.util.Collection.size.

Doc from java.util.Set.size.

Returns the number of elements in this set (its cardinality). If this set contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.

Returns:int

the number of elements in this set (its cardinality)

Annotations
@Override
toArrayback to summary
public Object[] toArray()

Overrides java.util.AbstractCollection.toArray.

Implements java.util.Set.toArray, java.util.Collection.toArray.

Doc from java.util.Set.toArray.

Returns an array containing all of the elements in this set. If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.

The returned array will be "safe" in that no references to it are maintained by this set. (In other words, this method must allocate a new array even if this set is backed by an array). The caller is thus free to modify the returned array.

This method acts as bridge between array-based and collection-based APIs.

Returns:Object[]

an array containing all the elements in this set

Annotations
@Override
toArrayback to summary
public <T> T[] toArray(T[] a)

Overrides java.util.AbstractCollection.toArray.

Implements java.util.Set.toArray, java.util.Collection.toArray.

Doc from java.util.Set.toArray.

Returns an array containing all of the elements in this set; the runtime type of the returned array is that of the specified array. If the set fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this set.

If this set fits in the specified array with room to spare (i.e., the array has more elements than this set), the element in the array immediately following the end of the set is set to null. (This is useful in determining the length of this set only if the caller knows that this set does not contain any null elements.)

If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.

Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.

Suppose x is a set known to contain only strings. The following code can be used to dump the set into a newly allocated array of String:

    String[] y = x.toArray(new String[0]);
Note that toArray(new Object[0]) is identical in function to toArray().
Parameters
<T>

Doc from java.util.Collection.toArray. the component type of the array to contain the collection

a:T[]

the array into which the elements of this set are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.

Returns:T[]

an array containing all the elements in this set

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.util.AbstractCollection.toString.

Doc from java.util.AbstractCollection.toString.

Returns a string representation of this collection. The string representation consists of a list of the collection's elements in the order they are returned by its iterator, enclosed in square brackets ("[]"). Adjacent elements are separated by the characters ", " (comma and space). Elements are converted to strings as by String#valueOf(Object).

Returns:String

a string representation of this collection

Annotations
@Override
writeback to summary
public ChannelGroupFuture write(Object message)

Implements io.netty.channel.group.ChannelGroup.write.

Doc from io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group. If the specified message is an instance of ByteBuf, it is automatically duplicated to avoid a race condition. The same is true for ByteBufHolder. Please note that this operation is asynchronous as Channel#write(Object) is.

Returns:ChannelGroupFuture

itself

Annotations
@Override
writeback to summary
public ChannelGroupFuture write(Object message, ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.write.

Doc from io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group that are matched by the given ChannelMatcher. If the specified message is an instance of ByteBuf, it is automatically duplicated to avoid a race condition. The same is true for ByteBufHolder. Please note that this operation is asynchronous as Channel#write(Object) is.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
writeback to summary
public ChannelGroupFuture write(Object message, ChannelMatcher matcher, boolean voidPromise)

Implements io.netty.channel.group.ChannelGroup.write.

Doc from io.netty.channel.group.ChannelGroup.write.

Writes the specified message to all Channels in this group that are matched by the given ChannelMatcher. If the specified message is an instance of ByteBuf, it is automatically duplicated to avoid a race condition. The same is true for ByteBufHolder. Please note that this operation is asynchronous as Channel#write(Object) is. If voidPromise is true Channel#voidPromise() is used for the writes and so the same restrictions to the returned ChannelGroupFuture apply as to a void promise.

Returns:ChannelGroupFuture

the ChannelGroupFuture instance that notifies when the operation is done for all channels

Annotations
@Override
writeAndFlushback to summary
public ChannelGroupFuture writeAndFlush(Object message)

Implements io.netty.channel.group.ChannelGroup.writeAndFlush.

Doc from io.netty.channel.group.ChannelGroup.writeAndFlush.

Shortcut for calling write(Object) and flush().

Annotations
@Override
writeAndFlushback to summary
public ChannelGroupFuture writeAndFlush(Object message, ChannelMatcher matcher)

Implements io.netty.channel.group.ChannelGroup.writeAndFlush.

Doc from io.netty.channel.group.ChannelGroup.writeAndFlush.

Shortcut for calling write(Object) and flush() and only act on Channels that are matched by the ChannelMatcher.

Annotations
@Override
writeAndFlushback to summary
public ChannelGroupFuture writeAndFlush(Object message, ChannelMatcher matcher, boolean voidPromise)

Implements io.netty.channel.group.ChannelGroup.writeAndFlush.

Doc from io.netty.channel.group.ChannelGroup.writeAndFlush.

Shortcut for calling write(Object, ChannelMatcher, boolean) and flush() and only act on Channels that are matched by the ChannelMatcher.

Annotations
@Override