sockets: High-level network sockets

[ bsd3, library, network ] [ Propose Tags ]

This library provides a high-level abstraction for network sockets. It uses Haskell2010 (along with GADTs) without typeclasses to ensure that consumers of the API can only call appropriate functions on a socket. Exceptions are tracked in the types of functions and returned to the caller with Either. The caller is free to handle these gracefully or to throw them. This library only throws exceptions when it detects that it has misused the operating system's sockets API (open an issue for this) or when the caller asks for a negatively-sized slice of a buffer (such exceptions are unrecoverable and indicate a mistake in the code consuming this API).

Flags

Manual Flags

NameDescriptionDefault
mmsg

Use sendmmsg and recvmmsg

Disabled
debug

Print debug output

Disabled
example

Build example executables

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.3.0.0, 0.3.1.0, 0.4.0.0, 0.5.0.0, 0.6.1.0, 0.6.1.1, 0.7.0.0
Change log CHANGELOG.md
Dependencies base (>=4.11.1.0 && <5), ip (>=1.4.1), posix-api (>=0.2.1), primitive (>=0.6.4), stm (>=2.4), text (>=1.2) [details]
License BSD-3-Clause
Copyright 2019 Andrew Martin
Author Andrew Martin
Maintainer andrew.thaddeus@gmail.com
Category Network
Home page https://github.com/andrewthad/sockets
Bug tracker https://github.com/andrewthad/sockets/issues
Uploaded by andrewthad at 2019-02-23T01:51:05Z
Distributions
Executables sockets-example
Downloads 2285 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-02-23 [all 1 reports]