Practical Networked Applications in Rust, Part 1: Non-Networked Key-Value Store