All Classes and Interfaces
Class
Description
HandlerAdapter
which allows to explicit only handle a specific type of address.A message that is sent by an application running on drasyl.
Handler that converts a given
ApplicationMessage
to an ObjectHolder
.All classes that implement this interface will be silent and automatically swallowed at the end
of the pipeline.
Creates a newly configured
ChannelPipeline
for a connection to a node server.This handler performs the handshake with the server and processes incoming messages during the
session.
This class encapsulates all information needed by a
ClientChannelInitializer
.A ClientException is thrown by clients when errors occur.
Standard interface for all codecs of the
Pipeline
.This class is a simple holder for a compressed key pair (a
CompressedPublicKey
and a
CompressedPrivateKey
).This interface models a compressed key that can be converted into a string and vice versa.
This interface models a compressed key that can be converted into a string and vice versa.
Util class that provides cryptography functions for drasyl.
A CryptoException is thrown by
Crypto
when errors occur.This class is responsible for storing the groups plugin options.
This exception signals an error occurred during execution in
DatabaseAdapter
implementations.Creates a newly configured
ChannelPipeline
for a ClientConnection to a node server.This default codec allows to encode/decode all supported objects by Jackson.
The default handler context implementation.
Abstract
Pipeline
implementation, that needs head and tail.Creates a newly configured
ChannelPipeline
for the node server.Creates a newly configured
ChannelPipeline
for a new channel for a connection to or from
a the Server
.Used by
DirectConnectionsManager
to establish a direct
connection to another peer.This class caches all peers for a direct connection has been demanded.
This handler tries to send outgoing messages via TCP-based direct connection to another peers.
This class is responsible for establishing and managing direct connections with other drasyl
nodes.
BiFunction
that can throw a Exception
.This class represents the configuration for a
DrasylNode
.Builder class to create a
DrasylConfig
with custom values.Consumer
that can throw a DrasylException
.All checked exceptions in drasyl inherit from this exception class.
Represents a node in the drasyl Overlay Network.
This interface describes components of the
DrasylNode
.The default
Pipeline
implementation.This interface is implemented by all drasyl plugins.
All unchecked exceptions in drasyl inherit from this exception class.
It is an intentional behavior that this scheduler ensures that the JVM is not automatically
terminated once all sequential program flows have been processed.
Supplier
that can throw a DrasylException
.Represents an endpoint of a drasyl node.
A message representing an error.
Specifies the type of the
ErrorMessage
.Describes an Event that provides the application with information about the local node, other
peers, connections or incoming messages.
This handler listens to exceptions on the pipeline and sends them as
ErrorMessage
to the
peer.Utility class for future-related operations.
A simple POJO that models a group.
Class is used to model the state of a group.
An event that is related to a
Group
.An event that signals that this node has successfully joined a group.
An event that signals, that a joining a specific group has failed.
This message is sent by the groups server to the client when the join to a group was not
successful.
Specifies the reason of the
GroupJoinFailedMessage
.This message is send by the groups client to the server to join a group.
This message is send by the groups client to the server to leave a group.
An event that signals that this node has left a group.
An event that signals that a new member joined a group.
An event that signals that a member has left a group.
This class represents the configuration for the
GroupsClientPlugin
.Implements the builder-pattern for this configuration.
This message is send by the groups client to the server.
The Groups Membership Client Plugin allows drasyl nodes to connect to membership managers at
startup to join groups.
This class starts a HTTP server with a REST API to manage groups and memberships.
This class represents the configuration for the
GroupsManagerPlugin
.Implements the builder-pattern for this configuration.
Starting point for the groups master plugin.
Default interface for all messages of the groups plugin.
This message is send by the groups server to the client.
This class models the connection/join setting of a group.
This message is sent by the groups server to the client when the join to a group was successful.
Handles an I/O event or intercepts an I/O operation, and forwards it to its next handler in its
Pipeline
.Skeleton implementation of a
Handler
.Util class that provides hashing functions for drasyl.
Util class that provides hexadecimal functions for drasyl.
Represents the private identity of a peer (includes the proof of work, the public and private
key).
This class holds the identity of the node.
A IdentityManagerException is thrown by the
IdentityManager
when errors occur.This message is used as a response to a
WhoisMessage
and contains information about a
peer (like public key and endpoints).Represents a pool of unique objects of type
T
.Uses shared memory to discover other drasyl nodes running on same JVM.
DatabaseAdapter
implementation that supports SQL databases.A message representing a join to the node server.
Holder for the JSON serializer and JSON deserializer.
Uses the file system to discover other drasyl nodes running on the local computer.
Utility class for logging-related operations.
This handler delivers outgoing messages addressed to the local node.
Class is used to model the state of a member.
This message is sent by the groups server to the client when a new member has joined a group.
This message is sent by the groups server to the client when a member has left a group.
Class is used to model the state of a group member.
Describes messages that are sent by the
Server
or a client.A MessageDecoderException is thrown by the
MessageDecoder
when errors occur.A MessageEncoderException is thrown by the
MessageEncoder
when errors occur.This event signals that the node has received a message addressed to it.
A
Message
is uniquely identified by its 24 lower-case hex digit identifier.Monitors various states or events in the drasyl Node.
Utility class for network-related operations.
Used by
Event
to describe an event related to the local Node (e.g.This event signals that the node is shut down.
Events that refer to a
Node
.This events signals that the node has terminated normally.
This event signals that the node is currently not connected to a super peer.
This event signals that the node has successfully registered with the super peer.
This events signals that the node encountered an unrecoverable error.
This event signals that the node has been started.
Simple class that holds a serialized object as byte array and the corresponding class of the
deserialized object.
Handler that convert a given
ObjectHolder
to an ApplicationMessage
.This particular Implementation of a drasyl Node shows exemplary how incoming Events can be
processed using the Observer Pattern.
Utility class for operations on
Observable
s.A tuple of two elements.
Represents a path for sending messages to a specific Peer.
Utility class for operations on
Path
es.Used by
Event
to describe an event related to a Peer (e.g.Special type of
ChannelGroup
, which has a lookup complexity of O(1) instead of O(n) for
lookups by CompressedPublicKey
.This event signals that the node has established a direct connection to a peer.
Events that refer to a
Peer
.Contains information on a specific peer (e.g.
This event signals that the node has established a connection via a super peer to a peer.
This class contains information about other peers.
A message representing a PING request.
This handler acts as a health check for a connection.
A list of
Handler
s which handles or intercepts inbound events and outbound operations of
a DrasylNode
.RuntimeException thrown by the
Pipeline
.Models environment information of a
DrasylPlugin
that are required by the plugin.The
PluginManager
notifies all enabled plugins about specific node events (like startup
or shutdown).A message representing a PONG response.
Class for the creation of port mappings to make local services externally/publicly accessible.
Represents a port mapping.
This class models the proof of work for a given public key.
A message representing a termination of a connection.
Specifies the reason for closing the connection.
This handler ensures that
Message
s do not infinitely circulate in the network.Messages of this type represent a request.
This class caches all peers for which information has been requested.
Messages of this type represent a response to a previously received
RequestMessage
.Utility class for security-related operations.
The server binds to a defined port and thus allows the node to be discovered and contacted by
other peers.
Creates a newly configured
ChannelPipeline
for every incoming connection to a node
server.Acts as a guard for in- and outbound connections.
This class encapsulates all information needed by a
ServerChannelInitializer
.A ServerException is thrown by the
Server
when errors occur.This handler returns an HTML error page if the HTTP request does not perform a Websocket
upgrade.
This handler acts as a channel creation guard.
Utility class for operations on
Set
s.Instances of classes that implement this interface are considered signable.
A signature class for drasyl messages, that wraps a byte array signature.
Acts as a guard for in- and outbound messages.
Represents a container with a signature for the
SignedMessage.payload
.ChannelDuplexHandler
which allows to explicit only handle a specific type of messages.ChannelOutboundHandlerAdapter
which allows to explicit only handle a specific type of
messages.HandlerAdapter
which allows to explicit only handle a specific type of messages and
events.HandlerAdapter
which allows to explicit only handle a specific type of messages and
events.HandlerAdapter
which allows to explicit only handle a specific type of messages.A simple wrapper for the given connection, that does not automatically close in a
try-with-resources block.
Represents a confirmation of a previous sent
RequestMessage
.This class represents the link between
DrasylNode
and the super peer.This handler performs the client-side part of a three-way handshake to create a session.
This handler performs the server-side part of a three-way handshake to create a session.
A tuple of three elements.
The
TypeValidator
allows to define which classes and packages may be handled by a codec.Utility class for operations on
URI
s.Utility class for operations on
URL
s.Utility class for operations on websocket
URI
s (e.g.A message representing the welcome message of the node server, including fallback information.
This message is used to request information (like public key and endpoints) for a specific
identity.