[Haskell-cafe] Re: Coming up with a better API for
Network.Socket.recv
Colin Paul Adams
colin at colina.demon.co.uk
Fri Feb 27 04:25:25 EST 2009
> Anyway, the POSIX spec indicates the EOF condition as return -1 with errno
> == ECONNRESET; this should not be taken as anything but the limited
> expressiveness of a C-based API. We should map this return to Nothing.
Johan> I'm not sure I agree. I think using exceptions in this case is fine as
Johan> loosing the connection is indeed an exceptional condition and the best
Johan> thing a program can do in this case is probably to abort processing of
Johan> the disconnected client.
I guess this depends upon how exceptional you want an exception to be.
To my mind, a lost connection is a fairly normal condition (FAR to
normal for my teleworking situation :-( ). That is, I would expect
the exception to occur rather than not, during one run of a
program. On that basis, I would suggest Nothing is better than an
exception.
But I guess it depends upon the program. For long running servers,
my expectation above is surely true. But other "servers" might not
share the same expectation.
Perhaps it should be configurable?
--
Colin Adams
Preston Lancashire
More information about the Haskell-Cafe
mailing list