rust-resp-protocol
REdis Serialization Protocol
Install
add resp-protocol
to Cargo.toml
[]
= "0.0.10"
Usage
use resp_protocol;
Types
- Simple string
- Error
- Integer
- Bulk string
- Array
Simple string
Examples
Value
"+OK\r\n"
Build
use SimpleString;
let simple_string: SimpleString = new;
Parse
use SimpleString;
let string: &str = "+OK\r\n";
let simple_string: SimpleString = parse.unwrap;
Error
Examples
Value
"-ERROR\r\n"
Build
use Error;
let error: Error = new;
Parse
use Error;
let string: &str = "-ERROR\r\n";
let error: Error = parse.unwrap;
Integer
Examples
Value
":100\r\n"
Build
use Integer;
let integer: Integer = new;
Parse
use Integer;
let string: &str = ":-100\r\n";
let integer: Integer = parse.unwrap;
Bulk string
Examples
Value
"$6\r\nfoobar\r\n"
Build
use BulkString;
let bulk_string: BulkString = new;
Parse
use BulkString;
let string: &str = "$6\r\nfoobar\r\n";
let bulk_string: BulkString = parse.unwrap;
Array
Examples
Value
"*0\r\n" // empty array
"*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n" // bulk strings array
"*2\r\n:1\r\n$6\r\nfoobar\r\n" // mixed types array
Build
use ;
let mut array_builder: ArrayBuilder = new;
array_builder.insert;
array_builder.insert;
let array: Array = array_builder.build;
println!; // Array(b"*2\r\n:100\r\n$6\r\nfoobar\r\n")
Parse
use Array;
let string = "*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n";
let array = parse.unwrap;
println!; // Array(b"*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n")