# Crate rlp [−] [src]

Recursive Length Prefix serialization crate.

Allows encoding, decoding, and view onto rlp-slice

# What should you use when?

### Use `encode` function when:

- You want to encode something inline.
- You do not work on big set of data.
- You want to encode whole data structure at once.

### Use `decode` function when:

- You want to decode something inline.
- You do not work on big set of data.
- You want to decode whole rlp at once.

### Use `RlpStream` when:

- You want to encode something in portions.
- You encode a big set of data.

### Use `Rlp` when:

- You are working on trusted data (not corrupted).
- You want to get view onto rlp-slice.
- You don't want to decode whole rlp at once.

### Use `UntrustedRlp` when:

- You are working on untrusted data (~corrupted).
- You need to handle data corruption errors.
- You are working on input data.
- You want to get view onto rlp-slice.
- You don't want to decode whole rlp at once.

## Reexports

`pub use self::rlptraits::{Decoder, Decodable, View, Stream, Encodable, Encoder, RlpEncodable, RlpDecodable, Compressible};`

## Modules

rlptraits | Common RLP traits

## Structs

PayloadInfo | Stores basic information about item
Rlp | Data-oriented view onto trusted rlp-slice.
RlpIterator | Iterator over trusted rlp-slice list elements.
RlpStream | Appendable rlp encoder.
UntrustedRlp | Data-oriented view onto rlp-slice.
UntrustedRlpIterator | Iterator over rlp-slice list elements.

## Enums

DecoderError | Error concerning the RLP decoder.
Prototype | RLP prototype
RlpType | Type of RLP indicating its origin database.

## Constants

EMPTY_LIST_RLP | The RLP encoded empty list.
NULL_RLP | The RLP encoded empty data (used to mean "null value").

## Functions

decode | Shortcut function to decode trusted rlp
encode | Shortcut function to encode structure into rlp.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)