in src/plugin/plugin_memcache.rs [91:137]
fn hook(
&self, class_name: Option<&str>, function_name: &str,
) -> Option<(
Box<crate::execute::BeforeExecuteHook>,
Box<crate::execute::AfterExecuteHook>,
)> {
let lowercase_function_name = function_name.to_ascii_lowercase();
let function_name = function_name.to_owned();
match (class_name, &*lowercase_function_name) {
(Some("Memcache" | "MemcachePool"), "connect" | "addserver" | "close") => {
Some(self.hook_memcache_server(
class_name.map(ToOwned::to_owned),
function_name,
ApiStyle::OO,
))
}
(None, "memcache_add_server" | "memcache_close") => {
Some(self.hook_memcache_server(None, function_name, ApiStyle::Procedural))
}
(Some("Memcache" | "MemcachePool"), f)
if MEMCACHE_EMPTY_METHOD_MAPPING.contains_key(f) =>
{
Some(self.hook_memcache_empty_methods(
class_name.map(ToOwned::to_owned),
function_name,
ApiStyle::OO,
))
}
(None, f) if MEMCACHE_EMPTY_METHOD_MAPPING.contains_key(&f["memcache_".len()..]) => {
Some(self.hook_memcache_empty_methods(None, function_name, ApiStyle::Procedural))
}
(Some("Memcache" | "MemcachePool"), f)
if MEMCACHE_KEY_METHOD_MAPPING.contains_key(f) =>
{
Some(self.hook_memcache_key_methods(
class_name.map(ToOwned::to_owned),
function_name,
ApiStyle::OO,
))
}
(None, f) if MEMCACHE_KEY_METHOD_MAPPING.contains_key(&f["memcache_".len()..]) => {
Some(self.hook_memcache_key_methods(None, function_name, ApiStyle::Procedural))
}
_ => None,
}
}