summaryrefslogtreecommitdiff
path: root/README
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`