in src/flowgger/splitter/nul_splitter.rs [11:48]
fn run(
&self,
buf_reader: BufReader<T>,
tx: SyncSender<Vec<u8>>,
decoder: Box<dyn Decoder>,
encoder: Box<dyn Encoder>,
) {
for line in buf_reader.split(0) {
let line = match line {
Ok(line) => line,
Err(e) => match e.kind() {
ErrorKind::Interrupted => continue,
ErrorKind::WouldBlock => {
let _ = writeln!(
stderr(),
"Client hasn't sent any data for a while - Closing \
idle connection"
);
return;
}
_ => return,
},
};
let line = match str::from_utf8(&line) {
Err(_) => {
let _ = writeln!(stderr(), "Invalid UTF-8 input");
continue;
}
Ok(line) => line,
};
if let Err(e) = handle_line(line, &tx, &decoder, &encoder) {
let line = line.trim();
if !line.is_empty() {
let _ = writeln!(stderr(), "{}: [{}]", e, line.trim());
}
}
}
}