4 个稳定版本
使用旧的 Rust 2015
1.0.3 | 2019 年 8 月 21 日 |
---|---|
1.0.2 | 2018 年 10 月 12 日 |
1.0.1 | 2018 年 10 月 2 日 |
1.0.0 | 2018 年 9 月 27 日 |
#1435 在 编码 中
每月 22 次下载
在 3 个包中使用 (通过 ecpool)
35KB
632 行
liberasurecode
A Rust 对 openstack/liberasurecode 的封装。
构建先决条件
此包需要以下软件包在构建脚本中构建 openstack/liberasurecode
- C 编译器(例如,
gcc
) git
make
automake
autoconf
libtool
例如,在 Ubuntu 上,您可以通过执行以下命令来安装这些软件包
$ sudo apt install gcc git make automake autoconf libtool
示例
基本用法
use liberasurecode::{ErasureCoder, Error};
let mut coder = ErasureCoder::new(4, 2)?;
let input = vec![0, 1, 2, 3];
// Encodes `input` to data and parity fragments
let fragments = coder.encode(&input)?;
// Decodes the original data from the fragments (or a part of those)
assert_eq!(Ok(&input), coder.decode(&fragments[0..]).as_ref());
assert_eq!(Ok(&input), coder.decode(&fragments[1..]).as_ref());
assert_eq!(Ok(&input), coder.decode(&fragments[2..]).as_ref());
assert_eq!(Err(Error::InsufficientFragments), coder.decode(&fragments[3..]));
依赖项
~43KB