in src/codec/redis.rs [146:171]
fn encode(&mut self, buf: &mut Session) {
let keyspace = self.config.choose_keyspace(&mut self.rng);
let command = keyspace.choose_command(&mut self.rng);
match command.verb() {
Verb::Get => {
metrics::REQUEST_GET.increment();
if keyspace.batch_size() == 1 {
Self::get(&mut self.rng, &self.mode, keyspace, buf)
} else {
Self::mget(&mut self.rng, &self.mode, keyspace, buf)
}
}
Verb::Set => Self::set(&mut self.rng, &self.mode, keyspace, buf),
Verb::Delete => Self::del(&mut self.rng, &self.mode, keyspace, buf),
Verb::Hget => {
metrics::REQUEST_GET.increment();
Self::hget(&mut self.rng, &self.mode, keyspace, buf)
}
Verb::Hset => Self::hset(&mut self.rng, &self.mode, keyspace, buf),
Verb::Hsetnx => Self::hsetnx(&mut self.rng, &self.mode, keyspace, buf),
Verb::Hdel => Self::hdel(&mut self.rng, &self.mode, keyspace, buf),
_ => {
unimplemented!()
}
}
}