To avoid lost events with crash, all bytes received should be save to a persistent ring buffer on disk, before deserialization. Once acknowledge, events can be removed.
But the question is to save decoder configuration so the good one to use should be identified.