Cache-FastMmap
view release on metacpan or search on metacpan
mmap_cache_internals.h view on Meta::CPAN
};
struct mmap_cache_it {
mmap_cache * cache;
MU32 p_cur;
MU32 * slot_ptr;
MU32 * slot_ptr_end;
};
/* Macros to access page entries */
#define PP(p) ((MU32 *)p)
#define P_Magic(p) (*(PP(p)+0))
#define P_NumSlots(p) (*(PP(p)+1))
#define P_FreeSlots(p) (*(PP(p)+2))
#define P_OldSlots(p) (*(PP(p)+3))
#define P_FreeData(p) (*(PP(p)+4))
#define P_FreeBytes(p) (*(PP(p)+5))
#define P_NReads(p) (*(PP(p)+6))
#define P_NReadHits(p) (*(PP(p)+7))
#define P_HEADERSIZE 32
/* Macros to access cache slot entries */
#define SP(s) ((MU32 *)s)
/* Offset pointer 'p' by 'o' bytes */
#define PTR_ADD(p,o) ((void *)((char *)p + o))
/* Given a data pointer, get key len, value len or combined len */
#define S_Ptr(b,s) ((MU32 *)PTR_ADD(b, s))
#define S_LastAccess(s) (*(s+0))
#define S_ExpireOn(s) (*(s+1))
( run in 0.580 second using v1.01-cache-2.11-cpan-49f99fa48dc )