Skip to main content

flowparser_sflow/flow_records/
app_parent_context.rs

1use nom::IResult;
2use serde::{Deserialize, Serialize};
3
4use super::parse_sflow_string;
5
6/// Application parent context (enterprise=0, format=2203).
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub struct AppParentContext {
9    pub application: String,
10    pub operation: String,
11    pub attributes: String,
12}
13
14pub(crate) fn parse_app_parent_context(input: &[u8]) -> IResult<&[u8], AppParentContext> {
15    let (input, application) = parse_sflow_string(input)?;
16    let (input, operation) = parse_sflow_string(input)?;
17    let (input, attributes) = parse_sflow_string(input)?;
18
19    Ok((
20        input,
21        AppParentContext {
22            application,
23            operation,
24            attributes,
25        },
26    ))
27}