Package org.drasyl.peer.connection
Class PeerChannelGroup
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<io.netty.channel.Channel>
io.netty.channel.group.DefaultChannelGroup
org.drasyl.peer.connection.PeerChannelGroup
- All Implemented Interfaces:
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 PeerChannelGroup
extends io.netty.channel.group.DefaultChannelGroup
Special type of
ChannelGroup
, which has a lookup complexity of O(1) instead of O(n) for
lookups by CompressedPublicKey
.-
Constructor Summary
ConstructorsConstructorDescriptionPeerChannelGroup
(int networkId, Identity identity) PeerChannelGroup
(int networkId, Identity identity, io.netty.util.concurrent.EventExecutor executor) -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(io.netty.channel.Channel channel) boolean
add
(CompressedPublicKey publicKey, io.netty.channel.Channel channel) boolean
io.netty.channel.Channel
find
(CompressedPublicKey publicKey) Searches the channel for given public key.int
hashCode()
boolean
io.netty.util.concurrent.Future<Void>
writeAndFlush
(CompressedPublicKey publicKey, Object message) Methods inherited from class io.netty.channel.group.DefaultChannelGroup
clear, close, close, compareTo, contains, deregister, deregister, disconnect, disconnect, find, flush, flush, flushAndWrite, flushAndWrite, isEmpty, iterator, name, newCloseFuture, newCloseFuture, size, toArray, toArray, toString, write, write, write, writeAndFlush, writeAndFlush, writeAndFlush
Methods inherited from class java.util.AbstractSet
removeAll
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAll
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.Set
addAll, containsAll, removeAll, retainAll, spliterator
-
Constructor Details
-
PeerChannelGroup
-
PeerChannelGroup
public PeerChannelGroup(int networkId, Identity identity, io.netty.util.concurrent.EventExecutor executor)
-
-
Method Details
-
writeAndFlush
public io.netty.util.concurrent.Future<Void> writeAndFlush(CompressedPublicKey publicKey, Object message) - Parameters:
publicKey
- the recipient of a message as compressed public keymessage
- the message to send- Returns:
- a completed future if the message was successfully processed, otherwise an exceptionally future
-
find
Searches the channel for given public key.- Parameters:
publicKey
- public key for which a channel should be searched- Returns:
- the
channel
if found, otherwisenull
-
add
public boolean add(io.netty.channel.Channel channel) - Specified by:
add
in interfaceCollection<io.netty.channel.Channel>
- Specified by:
add
in interfaceSet<io.netty.channel.Channel>
- Overrides:
add
in classio.netty.channel.group.DefaultChannelGroup
-
remove
- Specified by:
remove
in interfaceCollection<io.netty.channel.Channel>
- Specified by:
remove
in interfaceSet<io.netty.channel.Channel>
- Overrides:
remove
in classio.netty.channel.group.DefaultChannelGroup
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceCollection<io.netty.channel.Channel>
- Specified by:
hashCode
in interfaceSet<io.netty.channel.Channel>
- Overrides:
hashCode
in classio.netty.channel.group.DefaultChannelGroup
-
equals
- Specified by:
equals
in interfaceCollection<io.netty.channel.Channel>
- Specified by:
equals
in interfaceSet<io.netty.channel.Channel>
- Overrides:
equals
in classio.netty.channel.group.DefaultChannelGroup
-
add
-