Name: network-transport Version: 0.5.6 Cabal-Version: >=1.10 Build-Type: Simple License: BSD3 License-File: LICENSE Copyright: Well-Typed LLP Author: Duncan Coutts, Nicolas Wu, Edsko de Vries Maintainer: Facundo Domínguez Stability: experimental Homepage: http://haskell-distributed.github.com Bug-Reports: https://github.com/haskell-distributed/network-transport/issues Synopsis: Network abstraction layer Description: "Network.Transport" is a Network Abstraction Layer which provides the following high-level concepts: . * Nodes in the network are represented by 'EndPoint's. These are heavyweight stateful objects. . * Each 'EndPoint' has an 'EndPointAddress'. . * Connections can be established from one 'EndPoint' to another using the 'EndPointAddress' of the remote end. . * The 'EndPointAddress' can be serialised and sent over the network, whereas 'EndPoint's and connections cannot. . * Connections between 'EndPoint's are unidirectional and lightweight. . * Outgoing messages are sent via a 'Connection' object that represents the sending end of the connection. . * Incoming messages for /all/ of the incoming connections on an 'EndPoint' are collected via a shared receive queue. . * In addition to incoming messages, 'EndPoint's are notified of other 'Event's such as new connections or broken connections. . This design was heavily influenced by the design of the Common Communication Interface (). Important design goals are: . * Connections should be lightweight: it should be no problem to create thousands of connections between endpoints. . * Error handling is explicit: every function declares as part of its type which errors it can return (no exceptions are thrown) . * Error handling is "abstract": errors that originate from implementation specific problems (such as "no more sockets" in the TCP implementation) get mapped to generic errors ("insufficient resources") at the Transport level. . This package provides the generic interface only; you will probably also want to install at least one transport implementation (network-transport-*). Tested-With: GHC==7.6.3 GHC==7.8.4 GHC==7.10.3 Category: Network extra-source-files: ChangeLog Source-Repository head Type: git Location: https://github.com/haskell-distributed/network-transport Library Build-Depends: base >= 4.6 && < 5, binary >= 0.5 && < 0.9, bytestring >= 0.9 && < 0.12, hashable >= 1.2.0.5 && < 1.5, transformers >= 0.2 && < 0.6, deepseq >= 1.0 && < 1.5 if impl(ghc < 7.6) Build-Depends: ghc-prim >= 0.2 && < 0.4 Exposed-Modules: Network.Transport, Network.Transport.Util Network.Transport.Internal Other-Extensions: ForeignFunctionInterface Default-Extensions: RankNTypes, ScopedTypeVariables, DeriveDataTypeable, GeneralizedNewtypeDeriving, CPP GHC-Options: -Wall -fno-warn-unused-do-bind HS-Source-Dirs: src Default-Language: Haskell2010 if os(win32) extra-libraries: ws2_32