Struct rlp::Rlp [] [src]

pub struct Rlp<'a> { /* fields omitted */ }

Data-oriented view onto trusted rlp-slice.

Unlikely to UntrustedRlp doesn't bother you with error handling. It assumes that you know what you are doing.

Methods

impl<'a, 'view> Rlp<'a> where
    'a: 'view, 
[src]

[src]

Create a new instance of Rlp

[src]

The raw data of the RLP as slice.

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    let dog = rlp.at(1).as_raw();
    assert_eq!(dog, &[0x83, b'd', b'o', b'g']);
}

[src]

Get the prototype of the RLP.

[src]

Get payload info.

[src]

Get underlieing data.

[src]

Returns number of RLP items.

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    assert_eq!(rlp.item_count(), 2);
    let view = rlp.at(1);
    assert_eq!(view.item_count(), 0);
}

[src]

Returns the number of bytes in the data, or zero if it isn't data.

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    assert_eq!(rlp.size(), 0);
    let view = rlp.at(1);
    assert_eq!(view.size(), 3);
}

[src]

Get view onto RLP-slice at index.

Caches offset to given index, so access to successive slices is faster.

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    let dog: String = rlp.at(1).as_val();
    assert_eq!(dog, "dog".to_string());
}

[src]

No value

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![];
    let rlp = Rlp::new(&data);
    assert!(rlp.is_null());
}

[src]

Contains a zero-length string or zero-length list.

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc0];
    let rlp = Rlp::new(&data);
    assert!(rlp.is_empty());
}

[src]

List value

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    assert!(rlp.is_list());
}

[src]

String value

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    assert!(rlp.at(1).is_data());
}

[src]

Int value

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc1, 0x10];
    let rlp = Rlp::new(&data);
    assert_eq!(rlp.is_int(), false);
    assert_eq!(rlp.at(0).is_int(), true);
}

[src]

Get iterator over rlp-slices

extern crate rlp;
use rlp::*;

fn main () {
    let data = vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g'];
    let rlp = Rlp::new(&data);
    let strings: Vec<String> = rlp.iter().map(| i | i.as_val()).collect();
}

[src]

Decode data into an object

[src]

[src]

Decode data at given list index into an object

[src]

Trait Implementations

impl<'a> From<UntrustedRlp<'a>> for Rlp<'a>
[src]

[src]

Performs the conversion.

impl<'a> Debug for Rlp<'a>
[src]

[src]

Formats the value using the given formatter.

impl<'a> Display for Rlp<'a>
[src]

[src]

Formats the value using the given formatter. Read more

impl<'a, 'view> IntoIterator for &'view Rlp<'a> where
    'a: 'view, 
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

[src]

Creates an iterator from a value. Read more