streaming-commons

Common lower-level functions needed by various streaming data libraries

https://github.com/fpco/streaming-commons

Version on this page:0.2.2.1
LTS Haskell 22.43:0.2.2.6@rev:1
Stackage Nightly 2024-12-04:0.2.2.6@rev:1
Latest on Hackage:0.2.2.6@rev:1

See all snapshots streaming-commons appears in

MIT licensed by Michael Snoyman, Emanuel Borsboom
Maintained by [email protected]
This version can be pinned in stack with:streaming-commons-0.2.2.1@sha256:28abce35b48dcfb871926dad4cb37bdf737372892b4e5222abc97ca31f2ac738,5159

streaming-commons

Common lower-level functions needed by various streaming data libraries. Intended to be shared by libraries like conduit and pipes.

Build Status

Dependencies

One of the requirements of this package is to restrict ourselves to “core” dependencies. The definition of core is still to be decided, but here’s a working start:

  • No dependency on system libraries, beyond that which is required by other dependencies.
  • Anything which ships with GHC. However, we must retain compatibility with versions of those packages going back to at least GHC 7.4, and preferably earlier.
  • text, once again with backwards compatibility for versions included with legacy Haskell Platform. In other words, 0.11.2 support is required.
  • network, support back to 2.3. We do not need to support the network/network-bytestring split.
  • stm, preferably all the way back to 2.1.
  • transformers

For debate:

  • Other Haskell Platform packages, especially vector and attoparsec.

Changes

ChangeLog for streaming-commons

0.2.2.1

0.2.2.0

  • Remove AI_ADDRCONFIG #58

0.2.1.2

  • Update defaultReadBufferSize to use system default instead of hardcoded value #54

0.2.1.1

  • Fix a failing test case (invalid ByteString copying), does not affect library itself

0.2.1.0

  • Change bindRandomPortGen to use binding to port 0

0.2.0

  • Drop blaze-builder dependency

0.1.19

  • Update getAddrInfo hints to allow hostnames and portnames #46

0.1.18

  • Add isCompleteInflate

0.1.17

  • Add bindPortGenEx

0.1.16

  • Add closeStreamingProcessHandle

0.1.15.5

  • Make getSocket{Family}TCP try all addr candidates #32

0.1.15.3

  • Fix benchmarks

0.1.15.2

  • Document child process behavior in waitForProcess

0.1.15.1

  • Catch exceptions thrown by waitForProcess

0.1.15

  • Use `NO_DELAY1 for TCP client connections #27

0.1.14.2

  • Fix bug in process exception display of args with spaces/quotes

0.1.14

  • Exporting HasReadBufferSize; instance for ClientSettingsUnix #24

0.1.13

  • Make size of read buffer configurable, change default size to 32 kiB #23

0.1.12.1

0.1.12

  • appRawSocket

0.1.11

  • getUnusedInflated: Return uncompressed data following compressed data #20

0.1.10

Support blaze-builder >= 0.4. Add newByteStringBuilderRecv to Data.Streaming.ByteString.Builder; add modules Data.Streaming.ByteString.Builder.Buffer and Data.Streaming.ByteString.Builder.Class.

0.1.9

Add Data.Streaming.ByteString.Builder

0.1.8

Generalise types of run*Server which never cleanly return #13

0.1.7.1

Fix streamingProcess so that it doesn’t close Handles passed in with UseProvidedHandle.

0.1.7

withCheckedProcess added.

0.1.6

Provide appCloseConnection to get the underlying connection from an AppData.