Struct reed_solomon::Decoder [] [src]

pub struct Decoder { /* fields omitted */ }

Reed-Solomon BCH decoder

Methods

impl Decoder
[src]

[src]

Constructs a new Decoder.

Example

use reed_solomon::Decoder;

let decoder = Decoder::new(8);

[src]

Decodes block-encoded message and returns Buffer with corrected message and ecc offset. Also includes the number of errors corrected.

Example

use reed_solomon::Encoder;
use reed_solomon::Decoder;

// Create encoder and decoder
let encoder = Encoder::new(4);
let decoder = Decoder::new(4);

// Encode message
let mut encoded = encoder.encode(&[1, 2, 3, 4]);

// Corrupt message
encoded[2] = 1;
encoded[3] = 2;

// Let's assume it's known that `encoded[3]` is an error
let known_erasures = [3];

// Decode and correct message,
let corrected = decoder.correct(&mut encoded, Some(&known_erasures)).unwrap();

// Check results
assert_eq!(&[1, 2, 3, 4], corrected.data())

[src]

Decodes block-encoded message and returns Buffer with corrected message and ecc offset.

Example

use reed_solomon::Encoder;
use reed_solomon::Decoder;

// Create encoder and decoder
let encoder = Encoder::new(4);
let decoder = Decoder::new(4);

// Encode message
let mut encoded = encoder.encode(&[1, 2, 3, 4]);

// Corrupt message
encoded[2] = 1;
encoded[3] = 2;

// Let's assume it's known that `encoded[3]` is an error
let known_erasures = [3];

// Decode and correct message,
let corrected = decoder.correct(&mut encoded, Some(&known_erasures)).unwrap();

// Check results
assert_eq!(&[1, 2, 3, 4], corrected.data())

[src]

Performs fast corruption check.

Example

use reed_solomon::Encoder;
use reed_solomon::Decoder;

// Create encoder and decoder
let encoder = Encoder::new(4);
let decoder = Decoder::new(4);

// Encode message
let mut encoded = encoder.encode(&[1, 2, 3, 4]);

assert_eq!(decoder.is_corrupted(&encoded), false);

// Corrupt message
encoded[2] = 1;
encoded[3] = 2;

assert_eq!(decoder.is_corrupted(&encoded), true);

Trait Implementations

impl Debug for Decoder
[src]

[src]

Formats the value using the given formatter.

impl Copy for Decoder
[src]

impl Clone for Decoder
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more