Add Streaming information to the README.md

master
klauspost 2015-10-27 14:20:22 +01:00
parent 44ba449195
commit cfc4949ad7
1 changed files with 14 additions and 1 deletions

View File

@ -87,7 +87,7 @@ So to sum up reconstruction:
* You may only supply data you know is valid.
* Invalid shards should be set to nil.
For complete examples of and encoder and decoder see the [examples folder](https://github.com/klauspost/reedsolomon/tree/master/examples).
For complete examples of an encoder and decoder see the [examples folder](https://github.com/klauspost/reedsolomon/tree/master/examples).
# Splitting/Joining Data
@ -151,6 +151,19 @@ This means that if you have a data set that may not fit into memory, you can spl
This also means that you can divide big input up into smaller blocks, and do reconstruction on parts of your data. This doesn't give the same flexibility of a higher number of data shards, but it will be much more performant.
# Streaming API
There has been added a fully streaming API, to help perform fully streaming operations, which enables you to do the same operations, but on streams.
Input is delivered as `[]io.Reader`, output as `[]io.Writer`, and functionality corresponds to the in-memory API.
If an error occurs in relation to a stream, a `StreamReadError` or `StreamWriteError` will help you determine which stream was the offender.
There is no buffering or timeouts/retry specified. If you want to add that, you need to add it to the Reader/Writer.
For complete examples of a streaming encoder and decoder see the [examples folder](https://github.com/klauspost/reedsolomon/tree/master/examples).
# Performance
Performance depends mainly on the number of parity shards. In rough terms, doubling the number of parity shards will double the encoding time.