Indisruption-tolerant networking (DTN), data is transmitted in a store-carry-forward fashion from network node to network node.Other places also refer to the name delay-tolerant networking, which is the same in this context.
DTN7-go is written in Go and provides features like memory safety and concurrent execution.With its modular design and interchangeable components, DTN7-go facilitates DTN research and application development.Furthermore, we did an experimental evaluation of DTN7-go and other DTN systems including Serval, IBR-DTN, and Forban.Our results indicate that DTN7 is a flexible and efficient open-source multi-platform implementation of the most recent Bundle Protocol Version 7.
DTN7-rs is written in Rust and provides an implementation focused on speed, safety, and flexibility.Due to its modular design, the actual bundle encoding can be used standalone if needed without the actual dtn7 bundle agent.A conducted evaluation shows that the Rust implementation and WebAssembly as a platform provide enough performance for even higher bundle workloads, while at the same time leaving only a minimal memory/storage footprint.Furthermore, different storage backends, routing, and convergence layer agents exist in the dtn7 daemon for various use-cases.
We presented a simple short messaging system based upon dtn7-rs including an evaluation of different compression algorithms at GHTC 2020.The main focus of this research was on making the most of the limited resources available with LoRa networks.A preprint of the paper is available here.
In the recently published Bundle Protocol Version 7 draft version 25 our two implementations were mentioned.The Implementation Status section shows known implementations.This list now also includes DTN7-go and DTN7-rs.
Our paper presenting an approach to facilitate long-range device-to-device communication via smartphones in crisis scenarios got accepted at ISCRAM 2020.An integration of LoRa into DTN7 was presented and evaluated in the paper.A preprint of the paper is available here, the experiment fragments are available in the respective GitHub repository.
The error messages are a bit wordy, but long story short, you seem to be trying to match a value of type dtn7_plus::client::Message against patterns for type tungstenite::Message. If you look at your use statements, have you perhaps imported tungstenite::Message?
This will downgrade the dtn7-plus crate to an older version. The new version depends on tungstenite 0.21, making it incompatible with the latest dtn7 crate which uses tungstenite 0.17. (Making this backward-incompatible change in a patch release was a mistake by the dtn7-plus maintainer.)
3a8082e126