#maelstrom #distributed #distributed-applications #distributed-systems #systems #workbench #jepsen

async-maelstrom

A library that allows distributed applications to work with Maelstrom

3 releases

0.1.2 Aug 29, 2022
0.1.1 Aug 28, 2022
0.1.0 Aug 28, 2022

#313 in Simulation

Custom license

38KB
903 lines

Async Maelstrom

A Rust library that allows distributed applications to work with Maelstrom.

Maelstrom is a workbench for learning and testing distributed applications. It drives workloads to application nodes, and uses Jepsen to verify safety properties.

The library provides

  • a Msg implementation for creating and parsing workload and node-to-node message according to the Maelstrom message protocol
  • a Process trait for implementing application node processes
  • a Runtime for driving processes and communicating with the Maelstrom network

See the echo.rs for a simple library usage example.

Dependencies

~5–15MB
~189K SLoC