packages feed

Cabal revisions of socket-0.4.0.1

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:                socket-version:             0.4.0.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 export.-  .-    - 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. under Windows) an level of-      indirection is introduced to write 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-                     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.DGRAM-                     , System.Socket.Type.STREAM-                     , System.Socket.Type.SEQPACKET-                     , 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.Msg-                     , System.Socket.Internal.AddrInfo-                     , 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.4.0.1
+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 export.
+  .
+    - 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. under Windows) an level of
+      indirection is introduced to write 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
+                     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.DGRAM
+                     , System.Socket.Type.STREAM
+                     , System.Socket.Type.SEQPACKET
+                     , 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.Msg
+                     , System.Socket.Internal.AddrInfo
+                     , System.Socket.Internal.Platform
+  build-depends:       base >= 4.7 && < 4.9
+                     , 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