Enum resp::Value
[−]
[src]
pub enum Value {
Null,
NullArray,
String(String),
Error(String),
Integer(i64),
Bulk(String),
BufBulk(Vec<u8>),
Array(Vec<Value>),
}Represents a RESP value, see Redis Protocol specification.
Variants
NullNull bulk reply, $-1\r\n
NullArrayNull array reply, *-1\r\n
String(String)For Simple Strings the first byte of the reply is "+".
Error(String)For Errors the first byte of the reply is "-".
Integer(i64)For Integers the first byte of the reply is ":".
Bulk(String)For Bulk Strings the first byte of the reply is "$".
BufBulk(Vec<u8>)For Bulk
Array(Vec<Value>)For Arrays the first byte of the reply is "*".
Methods
impl Value[src]
fn is_null(&self) -> bool
Returns true if the value is a Null or NullArray. Returns false otherwise.
Examples
extern crate resp; fn main() { use self::resp::{Value}; assert_eq!(Value::Null.is_null(), true); assert_eq!(Value::NullArray.is_null(), true); assert_eq!(Value::Integer(123).is_null(), false); }assert_eq!(Value::Null.is_null(), true); assert_eq!(Value::NullArray.is_null(), true); assert_eq!(Value::Integer(123).is_null(), false);
fn is_error(&self) -> bool
Returns true if the value is a Error. Returns false otherwise.
Examples
extern crate resp; fn main() { use self::resp::{Value}; assert_eq!(Value::Null.is_error(), false); assert_eq!(Value::Error("".to_string()).is_error(), true); }assert_eq!(Value::Null.is_error(), false); assert_eq!(Value::Error("".to_string()).is_error(), true);
fn encode(&self) -> Vec<u8>
Encode the value to RESP binary buffer.
Examples
extern crate resp; fn main() { use self::resp::{Value}; let val = Value::String("OK正".to_string()); assert_eq!(val.encode(), vec![43, 79, 75, 230, 173, 163, 13, 10]); }let val = Value::String("OK正".to_string()); assert_eq!(val.encode(), vec![43, 79, 75, 230, 173, 163, 13, 10]);
fn to_encoded_string(&self) -> Result<String>
Encode the value to RESP string.
Examples
extern crate resp; fn main() { use self::resp::{Value}; let val = Value::String("OK正".to_string()); assert_eq!(val.to_encoded_string().unwrap(), "+OK正\r\n"); }let val = Value::String("OK正".to_string()); assert_eq!(val.to_encoded_string().unwrap(), "+OK正\r\n");
fn to_beautify_string(&self) -> String
Encode the value to beautify formated string.
Examples
extern crate resp; fn main() { use self::resp::{Value}; assert_eq!(Value::Null.to_beautify_string(), "(Null)"); assert_eq!(Value::NullArray.to_beautify_string(), "(Null Array)"); assert_eq!(Value::String("OK".to_string()).to_beautify_string(), "OK"); assert_eq!(Value::Error("Err".to_string()).to_beautify_string(), "(Error) Err"); assert_eq!(Value::Integer(123).to_beautify_string(), "(Integer) 123"); assert_eq!(Value::Bulk("Bulk String".to_string()).to_beautify_string(), "\"Bulk String\""); assert_eq!(Value::BufBulk(vec![]).to_beautify_string(), "(Empty Buffer)"); assert_eq!(Value::BufBulk(vec![0, 100]).to_beautify_string(), "(Buffer) 00 64"); assert_eq!(Value::Array(vec![]).to_beautify_string(), "(Empty Array)"); }assert_eq!(Value::Null.to_beautify_string(), "(Null)"); assert_eq!(Value::NullArray.to_beautify_string(), "(Null Array)"); assert_eq!(Value::String("OK".to_string()).to_beautify_string(), "OK"); assert_eq!(Value::Error("Err".to_string()).to_beautify_string(), "(Error) Err"); assert_eq!(Value::Integer(123).to_beautify_string(), "(Integer) 123"); assert_eq!(Value::Bulk("Bulk String".to_string()).to_beautify_string(), "\"Bulk String\""); assert_eq!(Value::BufBulk(vec![]).to_beautify_string(), "(Empty Buffer)"); assert_eq!(Value::BufBulk(vec![0, 100]).to_beautify_string(), "(Buffer) 00 64"); assert_eq!(Value::Array(vec![]).to_beautify_string(), "(Empty Array)");
A full formated example:
1) (Null)
2) (Null Array)
3) OK
4) (Error) Err
5) (Integer) 123
6) \"Bulk String\"
7) (Empty Array)
8) (Buffer) 00 64
9) 1) (Empty Array)
2) (Integer) 123
3) \"Bulk String\"
10) 1) (Null)
2) (Null Array)
3) OK
4) (Error) Err
5) (Integer) 123
6) \"Bulk String\"
7) (Empty Array)
8) (Buffer) 00 64
9) 1) (Empty Array)
2) (Integer) 123
3) \"Bulk String\"
11) (Null)
12) 1) (Null)
2) (Null Array)
3) OK
4) (Error) Err
5) (Integer) 123
6) \"Bulk String\"
7) (Empty Array)
8) (Buffer) 00 64
9) 1) (Empty Array)
2) (Integer) 123
3) \"Bulk String\"
10) 1) (Null)
2) (Null Array)
3) OK
4) (Error) Err
5) (Integer) 123
6) \"Bulk String\"
7) (Empty Array)
8) (Buffer) 00 64
9) 1) (Empty Array)
2) (Integer) 123
3) \"Bulk String\"
11) (Null)
13) (Null)
Trait Implementations
impl Debug for Value[src]
impl PartialEq for Value[src]
fn eq(&self, __arg_0: &Value) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Value) -> bool
This method tests for !=.
impl Eq for Value[src]
impl Clone for Value[src]
fn clone(&self) -> Value
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more