- fec_encode() takes as input an array of k pointers, where each
- pointer points to a memory buffer containing the input data (i.e.,
- the i'th buffer contains the i'th primary block). There is also a
- second parameter which is an array of the blocknums of the secondary
- blocks which are to be produced. (Each element in that array is
- required to be the blocknum of a secondary block, i.e. it is
- required to be >= k and < m.)
-
- The output from fec_encode() is the requested set of secondary
- blocks which are written into output buffers provided by the caller.
-
- Note that this fec_encode() is a "low-level" API in that it requires
- the input data to be provided in a set of memory buffers of exactly
- the right sizes. If you are starting instead with a single buffer
- containing all of the data then please see easyfec.py's "class
- Encoder" as an example of how to split a single large buffer into
- the appropriate set of input buffers for fec_encode(). If you are
- starting with a file on disk, then please see filefec.py's
- encode_file_stringy_easyfec() for an example of how to read the data
- from a file and pass it to "class Encoder". The Python interface
- provides these higher-level operations, as does the Haskell
- interface. If you implement functions to do these higher-level
- tasks in other languages than Python or Haskell, then please send a
- patch to zfec-dev@tahoe-lafs.org so that your API can be included in
- future releases of zfec.
-
- fec_decode() takes as input an array of k pointers, where each
- pointer points to a buffer containing a block. There is also a
- separate input parameter which is an array of blocknums, indicating
- the blocknum of each of the blocks which is being passed in.
+ fec_encode() takes as input an array of k pointers, where each pointer
+ points to a memory buffer containing the input data (i.e., the i'th buffer
+ contains the i'th primary block). There is also a second parameter which
+ is an array of the blocknums of the secondary blocks which are to be
+ produced. (Each element in that array is required to be the blocknum of a
+ secondary block, i.e. it is required to be >= k and < m.)
+
+ The output from fec_encode() is the requested set of secondary blocks which
+ are written into output buffers provided by the caller.
+
+ Note that this fec_encode() is a "low-level" API in that it requires the
+ input data to be provided in a set of memory buffers of exactly the right
+ sizes. If you are starting instead with a single buffer containing all of
+ the data then please see easyfec.py's "class Encoder" as an example of how
+ to split a single large buffer into the appropriate set of input buffers
+ for fec_encode(). If you are starting with a file on disk, then please see
+ filefec.py's encode_file_stringy_easyfec() for an example of how to read
+ the data from a file and pass it to "class Encoder". The Python interface
+ provides these higher-level operations, as does the Haskell interface. If
+ you implement functions to do these higher-level tasks in other languages
+ than Python or Haskell, then please send a patch to zfec-dev@tahoe-lafs.org
+ so that your API can be included in future releases of zfec.
+
+ fec_decode() takes as input an array of k pointers, where each pointer
+ points to a buffer containing a block. There is also a separate input
+ parameter which is an array of blocknums, indicating the blocknum of each
+ of the blocks which is being passed in.