[−][src]Trait redis_asio::FromRedisValue
Trait interface requires to implement method to convert RedisValue
into base type.
Example
use redis_asio::{RedisResult, RedisError, RedisErrorKind, RedisValue, FromRedisValue, from_redis_value}; #[derive(PartialEq, Debug)] struct ClientStruct{ data: String, } impl FromRedisValue for ClientStruct { fn from_redis_value(value: &RedisValue) -> RedisResult<Self> { match value { RedisValue::BulkString(data) => { let data = String::from_utf8(data.clone()) .map_err(|err| RedisError::new(RedisErrorKind::ParseError, "Cannot parse".to_string()))?; Ok(ClientStruct {data}) } _ => Err(RedisError::new(RedisErrorKind::ParseError, "Cannot parse".to_string())) } } } let redis_value = RedisValue::BulkString(b"some data".to_vec()); let origin = ClientStruct {data: "some data".to_string()}; assert_eq!(origin, from_redis_value::<ClientStruct>(&redis_value).unwrap());
Required methods
fn from_redis_value(value: &RedisValue) -> RedisResult<Self>
Provided methods
fn from_redis_u8(_: u8) -> Option<Self>
Implementations on Foreign Types
impl FromRedisValue for u8
[src]
fn from_redis_value(value: &RedisValue) -> RedisResult<Self>
[src]
fn from_redis_u8(num: u8) -> Option<Self>
[src]
impl FromRedisValue for String
[src]
fn from_redis_value(value: &RedisValue) -> RedisResult<Self>
[src]
impl<T: FromRedisValue> FromRedisValue for Vec<T>
[src]
fn from_redis_value(value: &RedisValue) -> RedisResult<Self>
[src]
impl<K: FromRedisValue + Eq + Hash, V: FromRedisValue> FromRedisValue for HashMap<K, V>
[src]
fn from_redis_value(value: &RedisValue) -> RedisResult<Self>
[src]
impl<T1, T2> FromRedisValue for (T1, T2) where
T1: FromRedisValue + Debug,
T2: FromRedisValue + Debug,
[src]
T1: FromRedisValue + Debug,
T2: FromRedisValue + Debug,