It's fast. I've written software to parse both formats and SOUP is
_much_ faster. Instead of having to read every byte looking for a LF
followed by a "From " to determine start-of-message, SOUP allows you
to directly go to the next message without reading any of the
intervening text. True, there's no easy way to recover from a single
bit error in the 32 bit message length record, or a missing or added
byte in the message body, but these should be rare events unless the
hardware is faulty, or buggy software is munging the messages.
My software is a post-processor for Yarn SOUP packets that reads
each message header and alters the "From: " line if certain
information is present. Since the message length is changed, a
new 32 bit length record has to be calculated, but it isn't a
problem. If Yarn were not paternalistic and allowed full header
editing (as Mutt does), I would not have needed to write it.
-rex
--
If you think C++ is not overly complicated, just what is a protected
abstract virtual base pure virtual private destructor, and when was
the last time you needed one?
-- Tom Cargil, C++ Journal.