RIPE Atlas API for Rust [WIP]

This library provides serde structures for RIPE Atlas measurements.

Features

Documentation Inconsistencies on Measurement Results

One issue that has been challenging to address is that the [official documentation] does not fully address all the possible responses. The main issue is that the probe measurement code is all written in C and has no idea what JSON is. Instead, as data is collected it is written to an output stream. This does wonders for efficiency, but also makes it extremely difficult to enforce adherence to a specific schema and determine all possible outputs without analyzing the probe code.

I have collected a list of documentation inconsistencies here: https://gist.github.com/jmeggitt/08375285b40e3393da49a261b6b65b52

My approach for this library has been to start by implementing structures and deserialization using [serde] based on the latest firmware version in the official documentation. To test that this library correctly conforms with the measurement result formats, I test it against actual probe data. The data used in these tests is collected from hourly data dumps provides by RIPE Atlas.

Goals and API Support