Trait redis::ConnectionLike
source · pub trait ConnectionLike {
fn req_packed_command(&mut self, cmd: &[u8]) -> RedisResult<Value>;
fn req_packed_commands(
&mut self,
cmd: &[u8],
offset: usize,
count: usize
) -> RedisResult<Vec<Value>>;
fn get_db(&self) -> i64;
fn check_connection(&mut self) -> bool;
fn is_open(&self) -> bool;
fn req_command(&mut self, cmd: &Cmd) -> RedisResult<Value> { ... }
}
Expand description
Implements the “stateless” part of the connection interface that is used by the
different objects in redis-rs. Primarily it obviously applies to Connection
object but also some other objects implement the interface (for instance
whole clients or certain redis results).
Generally clients and connections (as well as redis results of those) implement
this trait. Actual connections provide more functionality which can be used
to implement things like PubSub
but they also can modify the intrinsic
state of the TCP connection. This is not possible with ConnectionLike
implementors because that functionality is not exposed.
Required Methods§
sourcefn req_packed_command(&mut self, cmd: &[u8]) -> RedisResult<Value>
fn req_packed_command(&mut self, cmd: &[u8]) -> RedisResult<Value>
Sends an already encoded (packed) command into the TCP socket and reads the single response from it.
sourcefn req_packed_commands(
&mut self,
cmd: &[u8],
offset: usize,
count: usize
) -> RedisResult<Vec<Value>>
fn req_packed_commands(
&mut self,
cmd: &[u8],
offset: usize,
count: usize
) -> RedisResult<Vec<Value>>
Sends multiple already encoded (packed) command into the TCP socket
and reads count
responses from it. This is used to implement
pipelining.
sourcefn get_db(&self) -> i64
fn get_db(&self) -> i64
Returns the database this connection is bound to. Note that this information might be unreliable because it’s initially cached and also might be incorrect if the connection like object is not actually connected.
sourcefn check_connection(&mut self) -> bool
fn check_connection(&mut self) -> bool
Check that all connections it has are available (PING
internally).
sourcefn is_open(&self) -> bool
fn is_open(&self) -> bool
Returns the connection status.
The connection is open until any read_response
call recieved an
invalid response from the server (most likely a closed or dropped
connection, otherwise a Redis protocol error). When using unix
sockets the connection is open until writing a command failed with a
BrokenPipe
error.
Provided Methods§
sourcefn req_command(&mut self, cmd: &Cmd) -> RedisResult<Value>
fn req_command(&mut self, cmd: &Cmd) -> RedisResult<Value>
Sends a Cmd into the TCP socket and reads a single response from it.
Implementors§
impl ConnectionLike for ClusterConnection
cluster
only.