3 #include "hash_item_util.h"
5 char * hash_item_get_key(
const hash_item* item) {
6 char *
ret = (
void*)(item + 1);
7 if (item->
iflag & ITEM_WITH_CAS) {
8 ret +=
sizeof(uint64_t);
15 char * hash_item_get_data(
const hash_item* item) {
16 return ((
char*) hash_item_get_key(item)) + item->
nkey;
20 uint16_t hash_item_get_key_len(
const hash_item *item) {
25 uint32_t hash_item_get_data_len(
const hash_item *item) {
30 uint64_t hash_item_get_cas(
const hash_item* item)
32 if (item->
iflag & ITEM_WITH_CAS) {
33 return *(uint64_t*)(item + 1);
38 void hash_item_set_cas(
hash_item* item, uint64_t cas)
40 if (item->
iflag & ITEM_WITH_CAS) {
41 *(uint64_t*)(item + 1) = cas;
46 uint64_t hash_item_get_exp(
const hash_item* item)
51 uint32_t hash_item_get_flag(
const hash_item* item)
53 return htonl(item->
flags);
56 void hash_item_set_flag(
hash_item* item, uint32_t value)
58 item->
flags = ntohl(value);
62 uint64_t * hash_item_get_cas_ptr(
const hash_item* item)
64 if (item->
iflag & ITEM_WITH_CAS) {
65 return (uint64_t*)(item + 1);