name: splice version: 0.3 stability: stable on Linux, experimental on other operating systems synopsis: Socket to Socket Data Splicing (supports all operating systems) description: A library that implements most efficient socket to socket data transfer loops for proxy servers on each operating system. . On Linux, it uses and exposes the zero-copy @splice()@ system call: . . On other operating systems, it currently falls back to a portable Haskell implementation. . [Corsis Research] This work is funded by Corsis Research () for the development of . [PortFusion \]-\[ayabusa (はやぶさ) (Hayabusa)] – German-Japanese joint research project for building the simplest and most concise high-performance distributed reverse / forward proxy possible (). license: BSD3 license-file: LICENSE author: Cetin Sert maintainer: Cetin Sert homepage: http://fusion.corsis.eu category: Network build-type: Simple cabal-version: >=1.2 copyright: Copyright © 2012 Cetin Sert tested-with: GHC >= 7.0 flag portable description: explicitly enable portable splice implemented in Haskell default : True library hs-source-dirs: src exposed-modules: Network.Socket.Splice other-modules: Network.Socket.Splice.Internal if os(linux) && !flag(portable) exposed-modules: System.IO.Splice.Linux build-depends: base >= 4 && <= 6, network >= 2 && <= 4, unix >= 2 && <= 4 cpp-options: -DLINUX_SPLICE ghc-options: -W -O2 -O3 -fllvm -optlo-O3 else build-depends: base >= 4 && <= 6, network >= 2 && <= 4 cpp-options: -ULINUX_SPLICE ghc-options: -W -O2 -O3