Packages 
Package Description
org.drasyl
Core API that includes the DrasylNode and DrasylConfig.
org.drasyl.annotation
Annotations that provide meta information about drasyl's API.
org.drasyl.behaviour
Describes DrasylNodes as finite state machines.
org.drasyl.crypto
Classes for crypto-related operations.
org.drasyl.event
Contains events that inform the application about various states of the drasyl node, incoming communication, or connection type changes.
org.drasyl.identity
Contains classes to manage the Identity of the drasyl node.
org.drasyl.intravm
Automatic discovery of other running drasyl nodes in the same JVM.
org.drasyl.localhost
Uses the file system to discover other drasyl nodes running on the local computer.
org.drasyl.loopback
Package contains classes that are used for communicating with ourself.
org.drasyl.loopback.handler  
org.drasyl.monitoring
Monitors various states or events in the drasyl node.
org.drasyl.peer
Package contains classes that are used for communicating with other peers.
org.drasyl.pipeline
Link between application and drasyl overlay network.
org.drasyl.pipeline.address
Contains addresses that describe the sender or recipient of messages.
org.drasyl.pipeline.handler
Contains default implementations for some basic handlers.
org.drasyl.pipeline.message
Contains all message types that drasyl uses to configure the overlay network and transfer application messages.
org.drasyl.pipeline.serialization
Package contains classes that are used for serialisation of message to byte arrays and vice vera.
org.drasyl.pipeline.skeleton
Contains skeleton implementations for the most often used idioms (e.g., in- or outbound-only handlers).
org.drasyl.plugin
Flexible extensions of drasyl via plugins that can be loaded into the pipeline together with user-defined settings.
org.drasyl.remote
Package contains classes that are used for communicating with remote peers via UDP.
org.drasyl.remote.handler
Handlers used to communicate with remote nodes.
org.drasyl.remote.handler.portmapper
Contains PortMapper that attempts to create port forwarding via PCP, NAT-PMP, UPnP-IDG.
org.drasyl.remote.protocol
The protocol used for communication with remote nodes.
org.drasyl.serialization
Serialization of java objects to byte arrays and vice versa.
org.drasyl.util
Utility classes used across multiple packages.
org.drasyl.util.logging
Provides a lazy Logger API (for internal use only).
org.drasyl.util.protocol
Contains several utilities that help in dealing with specific protocols (e.g.
org.drasyl.util.scheduler
Provides the DrasylScheduler.