void LookupService::query(string id, const void *key, size_t keyLen, void **val, size_t *valLen) { KeyValueMap &kvmap = _maps[id]; KeyValue k(key, keyLen); if (kvmap.find(k) == kvmap.end()) { JTRACE("Lookup Failed, Key not found."); *val = NULL; *valLen = 0; return; } KeyValue *v = kvmap[k]; *valLen = v->len(); *val = new char[v->len()]; memcpy(*val, v->data(), *valLen); }