memcached  1.6.15
About: memcached is a high-performance, distributed memory object caching system, generic in nature, but originally intended for use in speeding up dynamic web applications by alleviating database load.
  Fossies Dox: memcached-1.6.15.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

extstore.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  extstore_page_data
 
struct  extstore_stats
 
struct  extstore_conf
 
struct  extstore_conf_file
 
struct  _obj_io
 

Typedefs

typedef struct _obj_io obj_io
 
typedef void(* obj_io_cb) (void *e, obj_io *io, int ret)
 

Enumerations

enum  obj_io_mode { OBJ_IO_READ = 0 , OBJ_IO_WRITE }
 
enum  extstore_res {
  EXTSTORE_INIT_BAD_WBUF_SIZE = 1 , EXTSTORE_INIT_NEED_MORE_WBUF , EXTSTORE_INIT_NEED_MORE_BUCKETS , EXTSTORE_INIT_PAGE_WBUF_ALIGNMENT ,
  EXTSTORE_INIT_TOO_MANY_PAGES , EXTSTORE_INIT_OOM , EXTSTORE_INIT_OPEN_FAIL , EXTSTORE_INIT_THREAD_FAIL
}
 

Functions

const char * extstore_err (enum extstore_res res)
 
voidextstore_init (struct extstore_conf_file *fh, struct extstore_conf *cf, enum extstore_res *res)
 
int extstore_write_request (void *ptr, unsigned int bucket, unsigned int free_bucket, obj_io *io)
 
void extstore_write (void *ptr, obj_io *io)
 
int extstore_submit (void *ptr, obj_io *io)
 
int extstore_check (void *ptr, unsigned int page_id, uint64_t page_version)
 
int extstore_delete (void *ptr, unsigned int page_id, uint64_t page_version, unsigned int count, unsigned int bytes)
 
void extstore_get_stats (void *ptr, struct extstore_stats *st)
 
void extstore_get_page_data (void *ptr, struct extstore_stats *st)
 
void extstore_run_maint (void *ptr)
 
void extstore_close_page (void *ptr, unsigned int page_id, uint64_t page_version)
 

Typedef Documentation

◆ obj_io

typedef struct _obj_io obj_io

Definition at line 70 of file extstore.h.

◆ obj_io_cb

typedef void(* obj_io_cb) (void *e, obj_io *io, int ret)

Definition at line 71 of file extstore.h.

Enumeration Type Documentation

◆ extstore_res

Enumerator
EXTSTORE_INIT_BAD_WBUF_SIZE 
EXTSTORE_INIT_NEED_MORE_WBUF 
EXTSTORE_INIT_NEED_MORE_BUCKETS 
EXTSTORE_INIT_PAGE_WBUF_ALIGNMENT 
EXTSTORE_INIT_TOO_MANY_PAGES 
EXTSTORE_INIT_OOM 
EXTSTORE_INIT_OPEN_FAIL 
EXTSTORE_INIT_THREAD_FAIL 

Definition at line 92 of file extstore.h.

◆ obj_io_mode

Enumerator
OBJ_IO_READ 
OBJ_IO_WRITE 

Definition at line 65 of file extstore.h.

Function Documentation

◆ extstore_check()

int extstore_check ( void ptr,
unsigned int  page_id,
uint64_t  page_version 
)

Definition at line 684 of file extstore.c.

References _store_page::mutex, store_engine::pages, and _store_page::version.

◆ extstore_close_page()

void extstore_close_page ( void ptr,
unsigned int  page_id,
uint64_t  page_version 
)

◆ extstore_delete()

int extstore_delete ( void ptr,
unsigned int  page_id,
uint64_t  page_version,
unsigned int  count,
unsigned int  bytes 
)

◆ extstore_err()

◆ extstore_get_page_data()

void extstore_get_page_data ( void ptr,
struct extstore_stats st 
)

◆ extstore_get_stats()

◆ extstore_init()

void * extstore_init ( struct extstore_conf_file fh,
struct extstore_conf cf,
enum extstore_res res 
)

Definition at line 221 of file extstore.c.

References store_io_thread::cond, store_maint_thread::cond, store_io_thread::e, store_maint_thread::e, EXTSTORE_INIT_BAD_WBUF_SIZE, EXTSTORE_INIT_NEED_MORE_BUCKETS, EXTSTORE_INIT_NEED_MORE_WBUF, EXTSTORE_INIT_OOM, EXTSTORE_INIT_OPEN_FAIL, EXTSTORE_INIT_PAGE_WBUF_ALIGNMENT, EXTSTORE_INIT_TOO_MANY_PAGES, extstore_io_thread(), extstore_maint_thread(), extstore_run_maint(), _store_page::fd, extstore_conf_file::fd, extstore_conf_file::file, _store_page::free, _store_page::free_bucket, extstore_conf_file::free_bucket, store_engine::free_page_buckets, _store_page::id, store_engine::io_depth, extstore_conf::io_depth, store_engine::io_stack, store_engine::io_threadcount, extstore_conf::io_threadcount, store_engine::io_threads, store_engine::maint_thread, _store_page::mutex, store_io_thread::mutex, store_maint_thread::mutex, store_engine::mutex, __store_wbuf::next, _store_page::next, extstore_conf_file::next, _obj_io::next, _store_page::offset, extstore_conf_file::offset, store_engine::page_bucketcount, store_engine::page_buckets, extstore_conf::page_buckets, store_engine::page_count, extstore_stats::page_count, extstore_conf_file::page_count, extstore_stats::page_data, store_engine::page_free, store_engine::page_freelist, store_engine::page_size, extstore_stats::page_size, extstore_conf::page_size, store_engine::pages, store_engine::stats, store_engine::stats_mutex, store_engine::version, extstore_conf::wbuf_count, wbuf_new(), extstore_conf::wbuf_size, and store_engine::wbuf_stack.

◆ extstore_run_maint()

void extstore_run_maint ( void ptr)

◆ extstore_submit()

int extstore_submit ( void ptr,
obj_io io 
)

◆ extstore_write()

◆ extstore_write_request()