flowparser_sflow/flow_records/extended_timestamp.rs
1use nom::IResult;
2use nom::number::complete::be_u64;
3use serde::{Deserialize, Serialize};
4
5/// Extended nanosecond-precision wall clock timestamp (enterprise=0, format=1043).
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct ExtendedTimestamp {
8 /// Wall clock time in nanoseconds since Unix epoch (UTC).
9 pub nanoseconds: u64,
10}
11
12pub(crate) fn parse_extended_timestamp(input: &[u8]) -> IResult<&[u8], ExtendedTimestamp> {
13 let (input, nanoseconds) = be_u64(input)?;
14
15 Ok((input, ExtendedTimestamp { nanoseconds }))
16}