pub trait HostConnection: Sized + Send {
// Required methods
fn open(
&mut self,
address: String,
) -> impl Future<Output = Result<Resource<Connection>, Error>> + Send;
fn publish(
&mut self,
self_: Resource<Connection>,
channel: String,
payload: Payload,
) -> impl Future<Output = Result<(), Error>> + Send;
fn get(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<Option<Payload>, Error>> + Send;
fn set(
&mut self,
self_: Resource<Connection>,
key: String,
value: Payload,
) -> impl Future<Output = Result<(), Error>> + Send;
fn incr(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<i64, Error>> + Send;
fn del(
&mut self,
self_: Resource<Connection>,
keys: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send;
fn sadd(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send;
fn smembers(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<Vec<String>, Error>> + Send;
fn srem(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send;
fn execute(
&mut self,
self_: Resource<Connection>,
command: String,
arguments: Vec<RedisParameter>,
) -> impl Future<Output = Result<Vec<RedisResult>, Error>> + Send;
fn drop(
&mut self,
rep: Resource<Connection>,
) -> impl Future<Output = Result<()>> + Send;
}
Required Methods§
Sourcefn open(
&mut self,
address: String,
) -> impl Future<Output = Result<Resource<Connection>, Error>> + Send
fn open( &mut self, address: String, ) -> impl Future<Output = Result<Resource<Connection>, Error>> + Send
Open a connection to the Redis instance at address
.
Sourcefn publish(
&mut self,
self_: Resource<Connection>,
channel: String,
payload: Payload,
) -> impl Future<Output = Result<(), Error>> + Send
fn publish( &mut self, self_: Resource<Connection>, channel: String, payload: Payload, ) -> impl Future<Output = Result<(), Error>> + Send
Publish a Redis message to the specified channel.
Sourcefn get(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<Option<Payload>, Error>> + Send
fn get( &mut self, self_: Resource<Connection>, key: String, ) -> impl Future<Output = Result<Option<Payload>, Error>> + Send
Get the value of a key.
Sourcefn set(
&mut self,
self_: Resource<Connection>,
key: String,
value: Payload,
) -> impl Future<Output = Result<(), Error>> + Send
fn set( &mut self, self_: Resource<Connection>, key: String, value: Payload, ) -> impl Future<Output = Result<(), Error>> + Send
Set key to value.
If key already holds a value, it is overwritten.
Sourcefn incr(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<i64, Error>> + Send
fn incr( &mut self, self_: Resource<Connection>, key: String, ) -> impl Future<Output = Result<i64, Error>> + Send
Increments the number stored at key by one.
If the key does not exist, it is set to 0 before performing the operation.
An error::type-error
is returned if the key contains a value of the wrong type
or contains a string that can not be represented as integer.
Sourcefn del(
&mut self,
self_: Resource<Connection>,
keys: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send
fn del( &mut self, self_: Resource<Connection>, keys: Vec<String>, ) -> impl Future<Output = Result<u32, Error>> + Send
Removes the specified keys.
A key is ignored if it does not exist. Returns the number of keys deleted.
Sourcefn sadd(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send
fn sadd( &mut self, self_: Resource<Connection>, key: String, values: Vec<String>, ) -> impl Future<Output = Result<u32, Error>> + Send
Add the specified values
to the set named key
, returning the number of newly-added values.
Sourcefn smembers(
&mut self,
self_: Resource<Connection>,
key: String,
) -> impl Future<Output = Result<Vec<String>, Error>> + Send
fn smembers( &mut self, self_: Resource<Connection>, key: String, ) -> impl Future<Output = Result<Vec<String>, Error>> + Send
Retrieve the contents of the set named key
.
Sourcefn srem(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> impl Future<Output = Result<u32, Error>> + Send
fn srem( &mut self, self_: Resource<Connection>, key: String, values: Vec<String>, ) -> impl Future<Output = Result<u32, Error>> + Send
Remove the specified values
from the set named key
, returning the number of newly-removed values.
Sourcefn execute(
&mut self,
self_: Resource<Connection>,
command: String,
arguments: Vec<RedisParameter>,
) -> impl Future<Output = Result<Vec<RedisResult>, Error>> + Send
fn execute( &mut self, self_: Resource<Connection>, command: String, arguments: Vec<RedisParameter>, ) -> impl Future<Output = Result<Vec<RedisResult>, Error>> + Send
Execute an arbitrary Redis command and receive the result.
fn drop( &mut self, rep: Resource<Connection>, ) -> impl Future<Output = Result<()>> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<_T: HostConnection + ?Sized + Send> HostConnection for &mut _T
impl<_T: HostConnection + ?Sized + Send> HostConnection for &mut _T
Source§async fn open(&mut self, address: String) -> Result<Resource<Connection>, Error>
async fn open(&mut self, address: String) -> Result<Resource<Connection>, Error>
Open a connection to the Redis instance at address
.
Source§async fn publish(
&mut self,
self_: Resource<Connection>,
channel: String,
payload: Payload,
) -> Result<(), Error>
async fn publish( &mut self, self_: Resource<Connection>, channel: String, payload: Payload, ) -> Result<(), Error>
Publish a Redis message to the specified channel.
Source§async fn get(
&mut self,
self_: Resource<Connection>,
key: String,
) -> Result<Option<Payload>, Error>
async fn get( &mut self, self_: Resource<Connection>, key: String, ) -> Result<Option<Payload>, Error>
Get the value of a key.
Source§async fn set(
&mut self,
self_: Resource<Connection>,
key: String,
value: Payload,
) -> Result<(), Error>
async fn set( &mut self, self_: Resource<Connection>, key: String, value: Payload, ) -> Result<(), Error>
Set key to value.
If key already holds a value, it is overwritten.
Source§async fn incr(
&mut self,
self_: Resource<Connection>,
key: String,
) -> Result<i64, Error>
async fn incr( &mut self, self_: Resource<Connection>, key: String, ) -> Result<i64, Error>
Increments the number stored at key by one.
If the key does not exist, it is set to 0 before performing the operation.
An error::type-error
is returned if the key contains a value of the wrong type
or contains a string that can not be represented as integer.
Source§async fn del(
&mut self,
self_: Resource<Connection>,
keys: Vec<String>,
) -> Result<u32, Error>
async fn del( &mut self, self_: Resource<Connection>, keys: Vec<String>, ) -> Result<u32, Error>
Removes the specified keys.
A key is ignored if it does not exist. Returns the number of keys deleted.
Source§async fn sadd(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> Result<u32, Error>
async fn sadd( &mut self, self_: Resource<Connection>, key: String, values: Vec<String>, ) -> Result<u32, Error>
Add the specified values
to the set named key
, returning the number of newly-added values.
Source§async fn smembers(
&mut self,
self_: Resource<Connection>,
key: String,
) -> Result<Vec<String>, Error>
async fn smembers( &mut self, self_: Resource<Connection>, key: String, ) -> Result<Vec<String>, Error>
Retrieve the contents of the set named key
.
Source§async fn srem(
&mut self,
self_: Resource<Connection>,
key: String,
values: Vec<String>,
) -> Result<u32, Error>
async fn srem( &mut self, self_: Resource<Connection>, key: String, values: Vec<String>, ) -> Result<u32, Error>
Remove the specified values
from the set named key
, returning the number of newly-removed values.
Source§async fn execute(
&mut self,
self_: Resource<Connection>,
command: String,
arguments: Vec<RedisParameter>,
) -> Result<Vec<RedisResult>, Error>
async fn execute( &mut self, self_: Resource<Connection>, command: String, arguments: Vec<RedisParameter>, ) -> Result<Vec<RedisResult>, Error>
Execute an arbitrary Redis command and receive the result.