Skip to content

fanzy618/goraptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goraptor

A RFC 5053 implementation written by go.

There is an example:

func TestRaptorEncodeAndDecode(t *testing.T) {
    symbols := make([][]byte, 128)
    for idx := range symbols {
        symbols[idx] = make([]byte, 1024)
        for offset := 0; offset < len(symbols[idx]); offset++ {
            symbols[idx][offset] = byte(idx + offset)
        }
    }

    k := len(symbols)
    encoder := New(k)
    for esi, data := range symbols {
        encoder.Append(esi, data)
    }
    encoder.Encode()

    decoder := New(k)
    for esi := 0; esi < 2*k; esi++ {
        if esi%3 == 0 {
            continue
        }
        sym, _ := encoder.Symbol(esi)
        decoder.Append(esi, sym)
    }
    decoder.Decode()

    for esi, data := range symbols {
        sym, _ := decoder.Symbol(esi)
        if !bytes.Equal(data, sym) {
            t.Errorf("Expect %v at %v for symbol, but got %v.", data, esi, sym)
            break
        }
    }
}

About

A RFC 5053 implementation written by go .

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages