network-socket-options

Type-safe, portable alternative to getSocketOption/setSocketOption

https://github.com/joeyadams/haskell-network-socket-options

Latest on Hackage:0.2.0.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Joey Adams
Maintained by [email protected]

The network package provides getSocketOption and setSocketOption functions. These work fine for socket options represented using the int type (namely, all boolean options, and a few quantity options). However, it doesn't work for, say, SO_LINGER, SO_RCVTIMEO, and SO_SNDTIMEO, as these use different, platform-specific representations.

This package implements the getters and setters as separate functions. At the moment, it only provides socket options that are available for both Unix and Windows.

This package also provides a workaround needed to time out network operations in Windows without leaking resources.