Word8-Based IO

Warrick Gray oinutter@hotmail.com
Fri, 23 Aug 2002 18:55:54 +1200


Hi,

> >   sendTo :: Socket -> [Word8] -> SockAddr -> IO Int
> >   recvFrom :: Socket -> Int -> IO ([Word8], Int, SockAddr)
> >   send :: Socket -> [Word8] -> IO Int
> >   recv :: Socket -> Int -> IO [Word8]
>
>Isn't "recv" an ugly abbreviation?

I like these functions.

I also want to mention buffer operations, following in the tradition of 
hPutBuf and hGetBuf (which improved performance in the 
haskell-web-server...), perhaps:

sendBuf :: Socket -> UArray Int Word8 -> Int -> SockAddr -> IO Int
recvBuf :: Socket -> UArray Int Word8 -> Int -> IO (Int,SockAddr)

...which would allow explicit memory reuse.  Incidentally I was always 
disappointed at not being able to use explicitly buffered Socket IO in 
Windows (buffered ops already availible in most Unix-like systems because of 
the socket<->handle mapping).

Yrs, WG.

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx