splice-0.6.0.2: splice.cabal
name: splice
version: 0.6.0.2
stability: stable on all operating systems
synopsis: Cross-platform Socket to Socket Data Splicing
description: A library that implements most efficient socket to socket
data transfer loops for proxy servers on all operating systems.
.
On GNU/Linux, it uses the zero-copy @splice()@ system
call (<http://kerneltrap.org/node/6505>) and exports it as
@c_splice@ in @System.IO.Splice.Linux@.
.
On other operating systems, it uses a portable Haskell
implementation.
.
[Legal]
This work is undertaken by Corsis Research for the development of
PortFusion \]-\[ayabusa (はやぶさ) (Hayabusa)
(<https://fusion.corsis.eu>) – German-Japanese joint research
project for building the simplest and most concise
high-performance distributed reverse / forward proxy application
possible on commodity hardware and operating systems.
copyright: Copyright © 2012 Cetin Sert
license: BSD3
license-file: LICENSE
author: Cetin Sert <fusion@corsis.eu>
maintainer: Cetin Sert <fusion@corsis.eu>
homepage: http://corsis.github.com/splice/
bug-reports: http://github.com/corsis/splice/issues
category: System, Network
build-type: Simple
cabal-version: >=1.6
source-repository head
type: git
location: git://github.com/corsis/splice.git
flag portable
description: force portable 'splice' implementation on GNU\/Linux
default : False
flag llvm
description: compile via LLVM
default : False
library
hs-source-dirs: src
exposed-modules: Network.Socket.Splice
other-modules: Network.Socket.Splice.Internal
build-depends: base >= 4 && <= 6,
network >= 2 && <= 4
if os(linux) && !flag(portable)
exposed-modules: System.IO.Splice.Linux
build-depends: unix >= 2 && <= 4
cpp-options: -DLINUX_SPLICE
ghc-options: -Wall -O2 -O3
if flag(llvm)
ghc-options: -fllvm -optlo-O3 -msse4.2