
On Tue, Feb 21, 2012 at 7:36 PM, Conrad Parker
awesome! I've prepared some patches for network to add this module and its tests, in this branch:
Cool, thanks!
I didn't modify any other modules, perhaps Network.Socket.Options should be re-exported from Network.Socket, and perhaps {get,set}SocketOption should be deprecated?
I agree with deprecating getSocketOption and setSocketOption. Don't remove them, just deprecate them. Network.Socket.Options doesn't implement all of the options {get,set}SocketOption has, yet (e.g. RecvLowWater). I'm not sure about re-exporting Network.Socket.Options, though. That's a lot to dump into the namespace. Particularly worrisome names include: * getError * getType Note the following: * I'm going to release network-socket-options 0.1.1 pretty soon. It will add higher-level functions for setting socket timeouts, to work around the lack of a proper IO manager for Windows: http://trac.haskell.org/network/ticket/2 http://trac.haskell.org/network/ticket/31#comment:1 * Network.Socket has a getPeerCred function, which gets the SO_PEERCRED socket option. Perhaps it should be moved to Network.Socket.Options (re-exported in Network.Socket for backward compatibility) and generalized with HasSocket like the other options. * A couple of the tests in my test suite require root access. Consider them optional, as they cover ground already pretty well-covered by the other tests. Thanks for the integration work. -Joey