Simplified API t read from disk cache
Avoids the need to pass a custom allocator by using malloc
This commit is contained in:
parent
49562e96cc
commit
61637a7a74
@ -12,5 +12,14 @@ PyObject* create_disk_cache(void);
|
||||
bool add_to_disk_cache(PyObject *self, const void *key, size_t key_sz, const void *data, size_t data_sz);
|
||||
bool remove_from_disk_cache(PyObject *self_, const void *key, size_t key_sz);
|
||||
void* read_from_disk_cache(PyObject *self_, const void *key, size_t key_sz, void*(allocator)(void*, size_t), void*);
|
||||
static inline void* disk_cache_malloc_allocator(void *x UNUSED, size_t sz) { return malloc(sz); }
|
||||
static inline void* read_from_disk_cache_simple(PyObject *self_, const void *key, size_t key_sz) { return read_from_disk_cache(self_, key, key_sz, disk_cache_malloc_allocator, NULL); }
|
||||
|
||||
static inline void* disk_cache_malloc_allocator(void *x, size_t sz) {
|
||||
*((size_t*)x) = sz;
|
||||
return malloc(sz);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
read_from_disk_cache_simple(PyObject *self_, const void *key, size_t key_sz, void **data, size_t *data_sz) {
|
||||
*data = read_from_disk_cache(self_, key, key_sz, disk_cache_malloc_allocator, data_sz);
|
||||
return PyErr_Occurred();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user