baos.write(b);
break;
case ERR:
// read until we get to a \n
if (b == '\n') {
throw new EventExtractException(
"Failed to extract syslog wire entry");
}
// stay in Mode.ERR;
break;
}
}
} catch (EOFException e) {
switch (m) {
case ERR:
// end of stream but was in error state? Throw extraction exception
throw new EventExtractException("Failed to extract syslog wire entry");
case DATA:
// end of stream but had data, return it.
return buildEvent(prio, baos);
default:
// if not in error state just return done;
return null;
}
} catch (IOException e) {
throw new EventExtractException("Failed to extract syslog wire entry: "
+ e.getMessage());
}
}