blob: 4c616a972b0e4f1e9475dd1023d9f67f2cb7d52d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
## Introduction
Liberasurecode is an erasure code library which can support multiple
erasure code 'backends'. The repository includes a Jerasure for Reed-Solomon
implementation.
[TODO: flesh this out a bit more]
## Code organization
```
├── README
├── NEWS
├── COPYING
├── AUTHORS
├── INSTALL
├── ChangeLog
|
├── autogen.sh
├── configure.ac
├── Makefile.am
|
├── include
│ ├── erasurecode
│ │ ├── erasurecode.h --> liberasurecode frontend API header
│ │ └── erasurecode_backend.h --> liberasurecode backend API header
│ └── xor_codes
|
├── src
│ ├── erasurecode.c --> liberasurecode API implementation
| | (frontend + backend)
│ ├── backends
│ │ └── xor
│ │ └─── flat_xor_hd.c --> 'flat_xor_hd' erasure code backend
| | implementation
| |
│ ├── builtin
│ │ └── xor_codes --> XOR HD code backend, built-in to
| | | liberasurecode
│ │ ├── xor_code.c
│ │ └── xor_hd_code.c
| |
│ └── utils
│ └── chksum --> fragment checksum utils for erasure
│ ├── alg_sig.c coded fragments
│ └── crc32.c
└─── test --> Test routines
├── builtin
│ └── xor_codes
├── liberasurecode_test.c
└── utils
```
## Dependencies
## Build
To build the liberasurecode repository, perform the following from the
top-level directory:
`$ ./autogen.sh`
`$ ./configure`
`$ make`
`$ make test`
`$ sudo make install`
|