Decode Gorilla-encoded timestamps.
(data: &[u8])
| 348 | |
| 349 | /// Decode Gorilla-encoded timestamps. |
| 350 | pub fn decode_timestamps(data: &[u8]) -> Result<Vec<i64>, CodecError> { |
| 351 | let mut dec = GorillaDecoder::new(data); |
| 352 | let samples = dec.decode_all(); |
| 353 | if samples.len() != dec.total as usize { |
| 354 | return Err(CodecError::Truncated { |
| 355 | expected: dec.total as usize, |
| 356 | actual: samples.len(), |
| 357 | }); |
| 358 | } |
| 359 | Ok(samples.into_iter().map(|(ts, _)| ts).collect()) |
| 360 | } |
| 361 | |
| 362 | #[cfg(test)] |
| 363 | mod tests { |