pub enum Response {
Values(Vec<Value>),
Stored,
NotStored,
Deleted,
NotFound,
Exists,
Ok,
Numeric(u64),
Version(Vec<u8>),
Error,
ClientError(Vec<u8>),
ServerError(Vec<u8>),
}Expand description
A parsed Memcache response.
Variants§
Values(Vec<Value>)
Value response from GET (may contain multiple values for multi-get)
Stored
STORED response from SET
NotStored
NOT_STORED response from SET
Deleted
DELETED response from DELETE
NotFound
NOT_FOUND response from DELETE
Exists
EXISTS response from CAS
Ok
OK response (from flush_all, touch, etc.)
Numeric(u64)
Numeric response from INCR/DECR (the new value after the operation).
Version(Vec<u8>)
VERSION response
Error
Generic error
ClientError(Vec<u8>)
Client error with message
ServerError(Vec<u8>)
Server error with message
Implementations§
Source§impl Response
impl Response
Sourcepub fn not_stored() -> Self
pub fn not_stored() -> Self
Create a NOT_STORED response.
Sourcepub fn hit(key: &[u8], flags: u32, data: &[u8]) -> Self
pub fn hit(key: &[u8], flags: u32, data: &[u8]) -> Self
Create a VALUES response with a single value (cache hit).
Sourcepub fn client_error(msg: &[u8]) -> Self
pub fn client_error(msg: &[u8]) -> Self
Create a CLIENT_ERROR response.
Sourcepub fn server_error(msg: &[u8]) -> Self
pub fn server_error(msg: &[u8]) -> Self
Create a SERVER_ERROR response.
Sourcepub fn parse(data: &[u8]) -> Result<(Self, usize), ParseError>
pub fn parse(data: &[u8]) -> Result<(Self, usize), ParseError>
Parse a response from a byte buffer.
Returns the parsed response and the number of bytes consumed.
Sourcepub fn encode(&self, buf: &mut [u8]) -> usize
pub fn encode(&self, buf: &mut [u8]) -> usize
Encode this response into a buffer.
Returns the number of bytes written.
Sourcepub fn encode_stored(buf: &mut [u8]) -> usize
pub fn encode_stored(buf: &mut [u8]) -> usize
Encode STORED directly to buffer.
Sourcepub fn encode_not_stored(buf: &mut [u8]) -> usize
pub fn encode_not_stored(buf: &mut [u8]) -> usize
Encode NOT_STORED directly to buffer.
Sourcepub fn encode_deleted(buf: &mut [u8]) -> usize
pub fn encode_deleted(buf: &mut [u8]) -> usize
Encode DELETED directly to buffer.
Sourcepub fn encode_not_found(buf: &mut [u8]) -> usize
pub fn encode_not_found(buf: &mut [u8]) -> usize
Encode NOT_FOUND directly to buffer.
Sourcepub fn encode_end(buf: &mut [u8]) -> usize
pub fn encode_end(buf: &mut [u8]) -> usize
Encode END (empty get response) directly to buffer.
Sourcepub fn encode_value(
buf: &mut [u8],
key: &[u8],
flags: u32,
data: &[u8],
) -> usize
pub fn encode_value( buf: &mut [u8], key: &[u8], flags: u32, data: &[u8], ) -> usize
Encode a single VALUE response directly to buffer.
Sourcepub fn encode_value_with_cas(
buf: &mut [u8],
key: &[u8],
flags: u32,
data: &[u8],
cas: u64,
) -> usize
pub fn encode_value_with_cas( buf: &mut [u8], key: &[u8], flags: u32, data: &[u8], cas: u64, ) -> usize
Encode a single VALUE response with CAS token directly to buffer (GETS response).
Format: VALUE <key> <flags> <bytes> <cas>\r\n<data>\r\nEND\r\n
Sourcepub fn encode_exists(buf: &mut [u8]) -> usize
pub fn encode_exists(buf: &mut [u8]) -> usize
Encode EXISTS response directly to buffer.
Sourcepub fn encode_numeric(buf: &mut [u8], value: u64) -> usize
pub fn encode_numeric(buf: &mut [u8], value: u64) -> usize
Encode a numeric response directly to buffer (INCR/DECR result).
Sourcepub fn encode_server_error(buf: &mut [u8], msg: &[u8]) -> usize
pub fn encode_server_error(buf: &mut [u8], msg: &[u8]) -> usize
Encode a SERVER_ERROR response directly to buffer.