[−][src]Module rmonitor::protocol
Protocol implementation for decoding RMonitor messages.
Example
use rmonitor::protocol::Record; let data = r#"$A,"1234BE","12X",52474,"John","Johnson","USA",5"#; let record = Record::decode(&data); assert!(record.is_ok()); assert!(matches!(record, Ok(Record::Competitor(_)))); if let Ok(Record::Competitor(competitor)) = record { assert_eq!(competitor.registration_number, "1234BE"); assert_eq!(competitor.number, "12X"); assert_eq!(competitor.transponder_number, 52474); assert_eq!(competitor.first_name, "John"); assert_eq!(competitor.last_name, "Johnson"); assert_eq!(competitor.nationality, "USA"); assert_eq!(competitor.class_number, 5); }
Modules
command | RMonitor commands are represented in messages by ASCII strings |
Structs
Class | Class information |
Competitor | Competitor information record |
CompetitorExt | Extended competitor information |
Correction | Corrected finish time |
Heartbeat | Heartbeat message, sent every second that a session is active |
Init | Indicates that the scoreboard should be reset |
LineCrossing | Timeline crossing message |
Passing | Passing information |
PracticeQual | Practice / Qualification position information |
Race | Race position information |
Run | Run (session) information |
Setting | Track setting information |
TrackDescription | Track and timeline description message |
TrackSection | Track section field |
Enums
Flag | |
Record | A unit of data from the RMonitor protocol |
RecordError | An error occured when decoding a record |