I am pleased to announce a new release of network-bytestring, a Haskell library for fast socket I/O using ByteStrings. New in this release is support for scatter/gather I/O (also known as vectored I/O). Scatter/gather I/O provides more efficient I/O by using one system call to send several separate pieces of data and by avoiding unnecessary copying. I would like to thank Brian Lewis, Bryan O'Sullivan, and Thomas Schilling for contributing patches for this release. Get it: cabal install network-bytestring And on Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/network-bytestrin... Windows hackers needed: I've made sure that the library builds on Windows but since I don't use Windows myself I haven't implemented scatter/gather I/O support for Windows. It should be straightforward to add and I'd be happy to review the patches. Cheers, Johan
Johan, This doesn't build for me on ghc-6.10.2. It looks like an internal part of the network library changed, but I didn't give it much thought. Thomas [tom@Mavlo network-data]$ cabal install network-bytestring Resolving dependencies... [1 of 1] Compiling Main ( /tmp/network-bytestring-0.1.214361/network-bytestring-0.1.2/Setup.hs, /tmp/network-bytestring-0.1.214361/network-bytestring-0.1.2/dist/setup/Main.o ) Linking /tmp/network-bytestring-0.1.214361/network-bytestring-0.1.2/dist/setup/setup ... Configuring network-bytestring-0.1.2... Preprocessing library network-bytestring-0.1.2... Building network-bytestring-0.1.2... [1 of 5] Compiling Network.Socket.ByteString.IOVec ( dist/build/Network/Socket/ByteString/IOVec.hs, dist/build/Network/Socket/ByteString/IOVec.o ) [2 of 5] Compiling Network.Socket.ByteString.MsgHdr ( dist/build/Network/Socket/ByteString/MsgHdr.hs, dist/build/Network/Socket/ByteString/MsgHdr.o ) [3 of 5] Compiling Network.Socket.ByteString.Internal ( Network/Socket/ByteString/Internal.hs, dist/build/Network/Socket/ByteString/Internal.o ) [4 of 5] Compiling Network.Socket.ByteString ( Network/Socket/ByteString.hs, dist/build/Network/Socket/ByteString.o ) Network/Socket/ByteString.hs:66:32: Module `Network.Socket.Internal' does not export `throwSocketErrorIfMinus1RetryMayBlock' cabal: Error: some packages failed to install: network-bytestring-0.1.2 failed during the building phase. The exception was: exit: ExitFailure 1 [tom@Mavlo network-data]$ cabal install network-bytestring Resolving dependencies... [1 of 1] Compiling Main ( /tmp/network-bytestring-0.1.215107/network-bytestring-0.1.2/Setup.hs, /tmp/network-bytestring-0.1.215107/network-bytestring-0.1.2/dist/setup/Main.o ) Linking /tmp/network-bytestring-0.1.215107/network-bytestring-0.1.2/dist/setup/setup ... Configuring network-bytestring-0.1.2... Preprocessing library network-bytestring-0.1.2... Building network-bytestring-0.1.2... [1 of 5] Compiling Network.Socket.ByteString.IOVec ( dist/build/Network/Socket/ByteString/IOVec.hs, dist/build/Network/Socket/ByteString/IOVec.o ) [2 of 5] Compiling Network.Socket.ByteString.MsgHdr ( dist/build/Network/Socket/ByteString/MsgHdr.hs, dist/build/Network/Socket/ByteString/MsgHdr.o ) [3 of 5] Compiling Network.Socket.ByteString.Internal ( Network/Socket/ByteString/Internal.hs, dist/build/Network/Socket/ByteString/Internal.o ) [4 of 5] Compiling Network.Socket.ByteString ( Network/Socket/ByteString.hs, dist/build/Network/Socket/ByteString.o ) Network/Socket/ByteString.hs:66:32: Module `Network.Socket.Internal' does not export `throwSocketErrorIfMinus1RetryMayBlock' cabal: Error: some packages failed to install: network-bytestring-0.1.2 failed during the building phase. The exception was: exit: ExitFailure 1 [tom@Mavlo network-data]$ ghc-pkg --version GHC package manager version 6.10.2 [tom@Mavlo network-data]$ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.10.2 [tom@Mavlo network-data]$ ghc-pkg list /usr/local/lib/ghc-6.10.2/./package.conf: Cabal-1.6.0.3, HUnit-1.2.0.3, QuickCheck-1.2.0.0, array-0.2.0.0, base-3.0.3.1, base-4.1.0.0, bytestring-0.9.1.4, containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3), (dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3), (dph-prim-seq-0.3), (dph-seq-0.3), editline-0.2.1.0, filepath-1.1.0.2, (ghc-6.10.2), ghc-prim-0.1.0.0, haddock-2.4.2, haskell-src-1.0.1.3, haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2, integer-0.1.0.1, mtl-1.1.0.2, network-2.2.1, old-locale-1.0.0.1, old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1, parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1, regex-base-0.72.0.2, regex-compat-0.71.0.1, regex-posix-0.72.0.3, rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-haskell-2.3.0.1, unix-2.3.2.0, xhtml-3000.2.0.1 /home/tom/.ghc/x86_64-linux-6.10.2/package.conf: Control-Engine-0.0.4, binary-0.5, network-data-0.0.2, prettyclass-1.0.0.0, pureMD5-0.2.4, time-1.1.2.3 On Sun, Apr 5, 2009 at 6:01 AM, Johan Tibell <johan.tibell@gmail.com> wrote:
I am pleased to announce a new release of network-bytestring, a Haskell library for fast socket I/O using ByteStrings.
New in this release is support for scatter/gather I/O (also known as vectored I/O). Scatter/gather I/O provides more efficient I/O by using one system call to send several separate pieces of data and by avoiding unnecessary copying.
I would like to thank Brian Lewis, Bryan O'Sullivan, and Thomas Schilling for contributing patches for this release.
Get it:
cabal install network-bytestring
And on Hackage:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/network-bytestrin...
Windows hackers needed:
I've made sure that the library builds on Windows but since I don't use Windows myself I haven't implemented scatter/gather I/O support for Windows. It should be straightforward to add and I'd be happy to review the patches.
Cheers,
Johan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
Johan Tibell -
Thomas DuBuisson