I've got a dead simple codec:
(defcodec wire-protocol (finite-block (prefix :int32)))
It works fine 95% of the time. However, when I really push engulf (say hammering localhost w/ 100 simultaneous clients), it seems that reading off the channel gives me the right data, but missing the prefix. Normally I get back the frames, take all the data from byte 5 to the end, and process it. Under heavy load however sometimes the 4 prefix bytes are missing.
Am I misusing something in lamina/gloss/aleph? Is there a better way to decode that doesn't require me to remove the prefix myself? For the record, I need bytes because I gzip compress all the data.