falco_event_serde 0.5.1

Serde support for falco_event types
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::ser::field::SerializedField;
use falco_event_schema::fields::types;
use serde::ser::SerializeSeq;
use serde::{Serialize, Serializer};

impl Serialize for SerializedField<&types::PT_FDLIST<'_>> {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        let it = self.0.iter();
        let mut state = serializer.serialize_seq(Some(it.len()))?;
        for (fd, flags) in it {
            state.serialize_element(&(fd, SerializedField(&flags)))?;
        }
        state.end()
    }
}