If the receiver can only accept very small chunks, you can put a rechunking stage in between the compression and iteratee:<br><br>
-----------------------------------------------------------<br>verySmallChunks :: Monad m =&gt; Enumeratee ByteString ByteString m b<br>verySmallSchunks = sequence (take 10)<br>-----------------------------------------------------------<br><br>Resending is slightly more complex -- if the other end can say "resend that last chunk", then it should be easy enough, but "resend the last 2 bytes of that chunk you sent 5 minutes ago" would be much harder. What is your use case?<br>