Cabal revisions of socket-0.5.0.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: socket-version: 0.5.0.0-synopsis: A portable and extensible sockets library.-description:- /Motivation/- .- This library aims to expose a minimal and platform-independant interface for- POSIX compliant networking code.- .- /Implementation Philosophy/- .- - Every operation and every flag exposed should be supported with same- semantics on every platform. If this cannot be guaranteed it should- be supplied by another (extension) package.- Examples for things that have been ripped out of this library are:- Unix sockets, SCTP, vectored IO (for now).- .- - Absolutely no conditional exports.- .- - No `#ifdef` madness in the Haskell sources. The Haskell binding code- uses the FFI to reference the platform's native networking functions.- If they are not Posix compliant (i.e. on Windows) an level of- indirection is introduced to create an Posix compliant equivalent in C- using whatever the plaform specific building blocks are.- .- /Platform Support/- .- /Linux/: Working.- .- /BSD/: Unknown. Should work. Please report if not.- .- /OS X/: Unknown. Please report if you have a Mac.- .- /Windows/: Fully supported on Windows7 (maybe Vista) or higher :-)- .- GHCs runtime system on Windows does not offer an event notification mechanism for sockets.- The original [network](https://hackage.haskell.org/package/network) library- suffers from this, too. For example, connection attempts are uninterruptible etc.- The approach taken to circumvent this in this library is to poll the- non-blocking sockets with increasing delay. This guarantees interruptability- and fairness between different threads. It allows for decent throughput- while also keeping CPU consumption on a moderate level if a socket has not seen- events for a longer period of time (maximum of 1 second delay after 20- polling iterations). The only drawback is potentially reduced response time- of your application. The good part: Heavy load (e.g. connection requests or- incoming traffic) will reduce this problem. Eventually your accepting thread- won't wait at all if there are several connection requests queued.- .- This workaround may be removed if someone is willing to sacrifice to improve- the IO manager on Windows.--license: MIT-license-file: LICENSE-author: Lars Petersen-maintainer: info@lars-petersen.net-category: System, Network-build-type: Simple-cabal-version: >=1.10-homepage: https://github.com/lpeterse/haskell-socket-bug-reports: https://github.com/lpeterse/haskell-socket/issues-tested-with: GHC==7.10.1, GHC==7.8.3-extra-source-files: README.md- CHANGELOG.md- CONTRIBUTORS.txt- platform/linux/src/System/Socket/Internal/Platform.hsc- platform/linux/include/hs_socket.h- platform/linux/cbits/hs_socket.c- platform/win32/src/System/Socket/Internal/Platform.hsc- platform/win32/include/hs_socket.h- platform/win32/cbits/hs_socket.c--library- exposed-modules: System.Socket- , System.Socket.Family- , System.Socket.Family.Inet- , System.Socket.Family.Inet6- , System.Socket.Type- , System.Socket.Type.Raw- , System.Socket.Type.Datagram- , System.Socket.Type.Stream- , System.Socket.Type.SequentialPacket- , System.Socket.Protocol- , System.Socket.Protocol.UDP- , System.Socket.Protocol.TCP- , System.Socket.Unsafe- other-modules: System.Socket.Internal.Socket- , System.Socket.Internal.Exception- , System.Socket.Internal.Message- , System.Socket.Internal.AddressInfo- , System.Socket.Internal.Platform- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- hs-source-dirs: src- build-tools: hsc2hs- default-language: Haskell2010- install-includes: hs_socket.h- ghc-options: -Wall- if os(windows)- include-dirs: platform/win32/include- hs-source-dirs: platform/win32/src- c-sources: platform/win32/cbits/hs_socket.c- extra-libraries: ws2_32- else- include-dirs: platform/linux/include- hs-source-dirs: platform/linux/src- c-sources: platform/linux/cbits/hs_socket.c--test-suite UDP- hs-source-dirs: tests- main-is: UDP.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite TCP- hs-source-dirs: tests- main-is: TCP.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite TCP-sendAndRecvAll- hs-source-dirs: tests- main-is: TCP-sendAndRecvAll.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite PingPong- hs-source-dirs: tests- main-is: PingPong.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite AddrInfo- hs-source-dirs: tests- main-is: AddrInfo.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket--test-suite NonBlockingIO- hs-source-dirs: tests- main-is: NonBlockingIO.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite NonBlockingIO-threaded- hs-source-dirs: tests- main-is: NonBlockingIO.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- ghc-options: -threaded- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--test-suite IPV6_V6ONLY- hs-source-dirs: tests- main-is: IPV6_V6ONLY.hs- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends: base >= 4.7 && < 5- , bytestring < 0.11- , socket- , async--source-repository head- type: git- location: git://github.com/lpeterse/haskell-socket.git+name: socket +version: 0.5.0.0 +x-revision: 1 +synopsis: A portable and extensible sockets library. +description: + /Motivation/ + . + This library aims to expose a minimal and platform-independant interface for + POSIX compliant networking code. + . + /Implementation Philosophy/ + . + - Every operation and every flag exposed should be supported with same + semantics on every platform. If this cannot be guaranteed it should + be supplied by another (extension) package. + Examples for things that have been ripped out of this library are: + Unix sockets, SCTP, vectored IO (for now). + . + - Absolutely no conditional exports. + . + - No `#ifdef` madness in the Haskell sources. The Haskell binding code + uses the FFI to reference the platform's native networking functions. + If they are not Posix compliant (i.e. on Windows) an level of + indirection is introduced to create an Posix compliant equivalent in C + using whatever the plaform specific building blocks are. + . + /Platform Support/ + . + /Linux/: Working. + . + /BSD/: Unknown. Should work. Please report if not. + . + /OS X/: Unknown. Please report if you have a Mac. + . + /Windows/: Fully supported on Windows7 (maybe Vista) or higher :-) + . + GHCs runtime system on Windows does not offer an event notification mechanism for sockets. + The original [network](https://hackage.haskell.org/package/network) library + suffers from this, too. For example, connection attempts are uninterruptible etc. + The approach taken to circumvent this in this library is to poll the + non-blocking sockets with increasing delay. This guarantees interruptability + and fairness between different threads. It allows for decent throughput + while also keeping CPU consumption on a moderate level if a socket has not seen + events for a longer period of time (maximum of 1 second delay after 20 + polling iterations). The only drawback is potentially reduced response time + of your application. The good part: Heavy load (e.g. connection requests or + incoming traffic) will reduce this problem. Eventually your accepting thread + won't wait at all if there are several connection requests queued. + . + This workaround may be removed if someone is willing to sacrifice to improve + the IO manager on Windows. + +license: MIT +license-file: LICENSE +author: Lars Petersen +maintainer: info@lars-petersen.net +category: System, Network +build-type: Simple +cabal-version: >=1.10 +homepage: https://github.com/lpeterse/haskell-socket +bug-reports: https://github.com/lpeterse/haskell-socket/issues +tested-with: GHC==7.10.1, GHC==7.8.3 +extra-source-files: README.md + CHANGELOG.md + CONTRIBUTORS.txt + platform/linux/src/System/Socket/Internal/Platform.hsc + platform/linux/include/hs_socket.h + platform/linux/cbits/hs_socket.c + platform/win32/src/System/Socket/Internal/Platform.hsc + platform/win32/include/hs_socket.h + platform/win32/cbits/hs_socket.c + +library + exposed-modules: System.Socket + , System.Socket.Family + , System.Socket.Family.Inet + , System.Socket.Family.Inet6 + , System.Socket.Type + , System.Socket.Type.Raw + , System.Socket.Type.Datagram + , System.Socket.Type.Stream + , System.Socket.Type.SequentialPacket + , System.Socket.Protocol + , System.Socket.Protocol.UDP + , System.Socket.Protocol.TCP + , System.Socket.Unsafe + other-modules: System.Socket.Internal.Socket + , System.Socket.Internal.Exception + , System.Socket.Internal.Message + , System.Socket.Internal.AddressInfo + , System.Socket.Internal.Platform + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + hs-source-dirs: src + build-tools: hsc2hs + default-language: Haskell2010 + install-includes: hs_socket.h + ghc-options: -Wall + if os(windows) + include-dirs: platform/win32/include + hs-source-dirs: platform/win32/src + c-sources: platform/win32/cbits/hs_socket.c + extra-libraries: ws2_32 + else + include-dirs: platform/linux/include + hs-source-dirs: platform/linux/src + c-sources: platform/linux/cbits/hs_socket.c + +test-suite UDP + hs-source-dirs: tests + main-is: UDP.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +test-suite TCP + hs-source-dirs: tests + main-is: TCP.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +test-suite TCP-sendAndRecvAll + hs-source-dirs: tests + main-is: TCP-sendAndRecvAll.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 4.9 + , bytestring < 0.11 + , socket + , async + +test-suite PingPong + hs-source-dirs: tests + main-is: PingPong.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +test-suite AddrInfo + hs-source-dirs: tests + main-is: AddrInfo.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + +test-suite NonBlockingIO + hs-source-dirs: tests + main-is: NonBlockingIO.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +test-suite NonBlockingIO-threaded + hs-source-dirs: tests + main-is: NonBlockingIO.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + ghc-options: -threaded + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +test-suite IPV6_V6ONLY + hs-source-dirs: tests + main-is: IPV6_V6ONLY.hs + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-depends: base >= 4.7 && < 5 + , bytestring < 0.11 + , socket + , async + +source-repository head + type: git + location: git://github.com/lpeterse/haskell-socket.git
revision 2
name: socket version: 0.5.0.0 -x-revision: 1 +x-revision: 2 synopsis: A portable and extensible sockets library. description: /Motivation/ , System.Socket.Internal.Message , System.Socket.Internal.AddressInfo , System.Socket.Internal.Platform - build-depends: base >= 4.7 && < 5 + build-depends: base >= 4.7 && < 4.9 , bytestring < 0.11 hs-source-dirs: src build-tools: hsc2hs