I'm new to Haskell and have reached an impasse in understanding the behaviour of sockets.
The crux of my line of enquiry is this; how can my application know when to pause in generating its chunked output if send doesn't block and the current non-blocking send behaviour apparently succeeds when the send buffer should be full?