[Haskell-cafe] Coming up with a better API for Network.Socket.recv

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Thu Feb 26 22:40:28 EST 2009


On 2009 Feb 26, at 16:45, Johan Tibell wrote:
> definition of `recv` would look like. My current thinking is that it
> would mimic what C/Python/Java does and return a zero length
> ByteString when EOF is reached.

Ew.  Isn't this what Maybe is for?

Anyway, the reason recv doesn't return 0 is that if you have a  
datagram socket, a zero-length recv is valid and doesn't mean EOF.   
(Not that many UDP-using programs know what to do with a 0-length  
packet.)  So you need to indicate "EOF" (sender closed its end) in  
some different way.  It *should* have been Maybe....

-- 
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20090226/ef8e6b1f/PGP.bin


More information about the Haskell-Cafe mailing list