mod.rs
1 //! Sources: where events come from. 2 3 pub mod file; 4 pub mod stdin; 5 #[cfg(feature = "kafka")] 6 pub mod kafka; 7 8 use anyhow::Result; 9 10 #[derive(Debug, Clone)] 11 pub struct SourceLine { 12 pub line: String, 13 pub bytes: Vec<u8>, 14 pub topic: Option<String>, 15 } 16 17 /// A source yields raw payloads plus optional metadata. 18 pub trait Source { 19 fn next_line(&mut self) -> Result<Option<SourceLine>>; 20 }