/todc

A collection of Rust crates for distributed computing.

Primary LanguageRustMIT LicenseMIT

todc

CI codecov

todc is a collection of Rust crates for distributed computing.

Overview

This is very experimental. The goal of this library is to bridge the gap between theory and practice by providing usable, understandable, and correct implementations of algorithms from classic papers.

Message Passing

For message passing systems, todc-net provides implementations for services that communicate over HTTP.

Features

  • AtomicRegister, a simluation of an atomic shared-memory register, as described by Attiya, Bar-Noy and Dolev [ABD95].

Shared Memory

For shared memory systems, todc-mem provides implementations for processes running on a single peice of hardware.

Features

Utilities

For general utilities, todc-utils provides helpful tools for building and testing distributed systems.

Features

Development

Code Coverage

Code coverage can be calculated with cargo-llvm-cov. Some tests can only be run when certain features are enabled. To most-accurately calculate code coverage, check the the coverage step of CI.