Switched realtime update feed from JSON to Protobuf.

This commit is contained in:
2026-06-27 11:20:37 +01:00
parent a2ccb9b761
commit 618c4ff2fe
2 changed files with 12 additions and 3 deletions
+10 -3
View File
@@ -28,8 +28,13 @@ impl Gtfs<'_> {
}
// Parse response
let realtime_info: gtfs_realtime::FeedMessage
= serde_json::from_reader(response)?;
let response_bytes= response.bytes()?;
let data: Result<gtfs_realtime::FeedMessage, prost::DecodeError> = prost::Message::decode(response_bytes.as_ref());
if data.is_err() {
return Err(Error {
_message : format! ("Error loading realtime prtobuf: {:#?}", data.err().unwrap())
})
}
// Build a map of (trip, stop) -> Arrival for faster lookup
@@ -41,7 +46,9 @@ impl Gtfs<'_> {
}
// Match deltas to existing arrivals
for entity in realtime_info.entity {
let entities = data.unwrap().entity;
debug!("Loaded {} entities from realtime update.", entities.len());
for entity in entities {
if entity.trip_update.is_some() && entity.stop.is_some() {
let trip_update = entity.trip_update.unwrap();