drasyl 0.11.0 released with performance improvements, fixes, and dynamic overlay constructon
Today, we are excited to announce the release of drasyl 0.11.0.
This maintenance release brings performance improvements, fixes and the new CLI sub-command sdon
for the creation of dynamic overlays.
Changelog
🚀 Added
- CLI: Option
--rc-start-node
to sub-commandnode
added. - CLI: Option
--unavailability-cause
to sub-commandversion
added. - CLI: Sub-command
node-rc peers
added. - CLI: Sub-command
sdon
added. EventTypeDrasylNode
added.DrasylNode
will now check local time is correct on start as this is mandatory for drasyl protocol to work.InboundExceptionEvent
now contains exception in string presentation.DrasylConfig
: Optiondrasyl.remote.tcp-fallback.connect-port
added.- Boolean system property
org.drasyl.pub-key.interning
added to disable interning of IdentityPublicKeys, as this could have a negative impact on performance..
💅 Changed
- Dependencies have been updated.
- TCP fallback now connects to all super peers.
- Application messages are not longer passed through the
DrasylServerChannel
(this was a performance bottleneck). - CLI: Option
--ack-interval
from sub-commandwormhole receive
removed (the new reliability layer determines this value automatically). - CLI: Options
--window-size
and--window-timeout
from sub-commandwormhole send
removed (the new reliability layer determines this value automatically). DrasylConfig
: Optionsdrasyl.remote.message.mtu
,drasyl.remote.message.max-content-length
,drasyl.remote.message.composed-message-transfer-timeout
,drasyl.remote.message.arq
removed (the new reliability layer determines this value automatically).DrasylConfig
: Optionsdrasyl.remote.tcp-fallback.timeout
,drasyl.remote.tcp-fallback.address
removed.- Improved performance in inbound and outbound message processing by reducing task scheduling overhead. Instead of creating a separate task for each message, a single task now processes entire batches of reads and writes. Additionally, fewer Java objects are created, and zero-copy techniques are applied more frequently where possible.
🐛 Fixed
- CLI: ensure wormhole sender/receiver handlers gracefully stop when connection is lost.
- CLI: fix
tunnel
sub-command. - Receiving multiple
UNITE
messages will now trigger newHELLO
messages only if new endpoints have been reported.
Photo by Anton Filatov on Unsplash