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.crypto.loader  
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.handler.codec
Handler for encoding and decoding messages (e.g.
org.drasyl.pipeline.handler.filter  
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.crypto
Contains classes necessary for encrypted communication.
org.drasyl.remote.handler.portmapper
Contains PortMapper that attempts to create port forwarding via PCP, NAT-PMP, UPnP-IDG.
org.drasyl.remote.handler.tcp
Contains the pipeline handlers for TCP fallback connections.
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
Logging API (for internal use only).
org.drasyl.util.network
Network-related utility classes.
org.drasyl.util.protocol
Contains several utilities that help in dealing with specific protocols (e.g.
org.drasyl.util.scheduler
Provides the DrasylScheduler.