The Rustastic Drone
is a software-defined drone specifically designed for operating within a distributed network simulation. It was developed as a project for the 2024 Advanced Programming course at the University of Trento.
The Rustastic Drone aims for protocol perfection: every aspect of the protocol has been meticulously developed and refined to ensure seamless communication and flawless operation.
The Rustastic Drone undergoes extensive testing to ensure robustness and performance under all conditions. Every feature and function is rigorously evaluated, covering both common and rare edge cases. Our comprehensive suite of tests leaves no room for unexpected behavior, and we are continually expanding our test coverage to guarantee reliability.
To enhance user experience, Rustastic Drone includes a powerful logging system:
- Debug logs provide clear, detailed information about events and their sequence.
- Errors and actions are highlighted in distinct colors, making logs easy to read in the terminal.
- Integrated with the
log
crate (documentation) for seamless compatibility with loggers such aslog4rs
orenv_logger
.
These features make logging intuitive and efficient, reducing the time needed to diagnose and resolve issues.
In summary, the Rustastic Drone
is Simply Fantastic because it stands out for its reliability, precision, and smart design.
The drone leverages an efficient Packet Buffer
to handle dropped fragments. This buffer combines a HashMap
with a priority queue
, storing recently received fragments indexed by session ID and fragment number.
- Upon receiving a NACK:
- If the fragment is in the buffer, it is immediately retransmitted.
- If not, the NACK is forwarded to the previous node, restarting the retransmission process from the original source.
- The buffer size can be configured to meet specific requirements.
This approach minimizes delays and reduces network congestion caused by redundant retransmissions.
Efficient packet handling is critical in drone networks where delays or packet loss can disrupt communication. Our buffer system ensures:
- Faster retransmissions.
- Reduced congestion.
- Greater reliability in challenging environments.
Whether in simulations or real-world applications, our buffer technology makes drone networks faster, smarter, and more resilient.
Add the following to your Cargo.toml
:
[dependencies]
rustastic-drone = { git = "https://github.com/Rustastic/RustasticDrone.git" }
Then use it in your Rust code:
use rustastic_drone::RustasticDrone;
You can contact us through our telegram bot if you need more infos: https://t.me/rustastic_support_bot