Arcus-Client
view release on metacpan or search on metacpan
croak("failed to connect to the proxy: %d (%s)", ret, arcus_strerror(ret));
}
}
MODULE = Arcus::Base PACKAGE = Arcus::Base
void
new(class, self)
char *class
SV *self
PPCODE:
Arcus_API *arcus = NULL;
if (SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV) {
EXTEND(SP, 1);
Newx(arcus, 1, Arcus_API);
arcus->global = memcached_create(NULL);
if (arcus->global == NULL) {
croak("Failed to create the global memcached object");
}
arcus->proxy = memcached_create(NULL);
if (arcus->proxy == NULL) {
Arcus_API *arcus
ALIAS:
set_multi = ARCUS_SET
add_multi = ARCUS_ADD
replace_multi = ARCUS_REPLACE
append_multi = ARCUS_APPEND
prepend_multi = ARCUS_PREPEND
PREINIT:
size_t finished = 0;
size_t arg = 1;
PPCODE:
memcached_return_t ret;
memcached_storage_request_st req[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
memcached_return_t results[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
int req_index[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
SV **result_buf;
memcached_st *mc = memcached_pool_pop(arcus->pool, true, &ret);
if (mc == NULL) {
warn("Failed to create the memcached object : %d (%s)", ret, memcached_strerror(NULL, ret));
goto do_return;
if (mc != NULL) {
memcached_pool_push(arcus->pool, mc);
}
void
cas_multi(arcus, ...)
Arcus_API *arcus
PREINIT:
size_t finished = 0;
size_t arg = 1;
PPCODE:
memcached_return_t ret;
memcached_storage_request_st req[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
memcached_return_t results[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
int req_index[MAX_KEYS_FOR_MULTI_STORE_OPERATION];
SV **result_buf;
memcached_st *mc = memcached_pool_pop(arcus->pool, true, &ret);
if (mc == NULL) {
warn("Failed to create the memcached object : %d (%s)", ret, memcached_strerror(NULL, ret));
goto do_return;
OUTPUT:
RETVAL
void
get(arcus, key)
Arcus_API *arcus
SV *key
ALIAS:
get = ARCUS_GET
gets = ARCUS_GETS
PPCODE:
memcached_return_t ret;
size_t key_length = 0;
char *key_ptr = NULL;
size_t value_length;
char *value;
uint32_t flags;
bool is_gets = false;
bool do_free_value = true;
dSP;
( run in 1.324 second using v1.01-cache-2.11-cpan-71847e10f99 )