Redis-Cluster-Fast
view release on metacpan or search on metacpan
src/Fast.xs view on Meta::CPAN
timeout.tv_usec = micro_second;
self->command_timeout = timeout;
DEBUG_MSG("command timeout %d, %d", second, micro_second);
void
__set_max_retry(Redis::Cluster::Fast self, int max_retry)
CODE:
self->max_retry = max_retry;
DEBUG_MSG("max_retry %d", max_retry);
void
__set_route_use_slots(Redis::Cluster::Fast self, int use_slot)
CODE:
self->use_cluster_slots = use_slot;
void
__set_cluster_discovery_retry_timeout(Redis::Cluster::Fast self, double double_sec)
CODE:
self->discovery_timeout_usec = (int64_t) (double_sec * ONE_SECOND_TO_MICRO);
DEBUG_MSG("discovery timeout %ld", self->discovery_timeout_usec);
SV*
__connect(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_connect(aTHX_ self);
if (RETVAL == NULL) {
RETVAL = &PL_sv_undef;
}
OUTPUT:
RETVAL
SV*
__disconnect(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_disconnect(aTHX_ self);
if (RETVAL == NULL) {
RETVAL = &PL_sv_undef;
}
OUTPUT:
RETVAL
SV*
__wait_until_event_ready(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_wait_until_event_ready(aTHX_ self);
if (RETVAL == NULL) {
RETVAL = &PL_sv_undef;
}
OUTPUT:
RETVAL
void
__std_cmd(Redis::Cluster::Fast self, ...)
PREINIT:
cmd_reply_context_t* result_context;
char** argv;
size_t* argvlen;
STRLEN len;
int argc, i;
SV* cb;
PPCODE:
if (!self->acc) {
croak("Not connected to any server");
}
cb = ST(items - 1);
if (SvROK(cb) && SvTYPE(SvRV(cb)) == SVt_PVCV) {
argc = items - 2;
} else {
cb = NULL;
argc = items - 1;
}
Newx(argv, sizeof(char*) * argc, char*);
Newx(argvlen, sizeof(size_t) * argc, size_t);
Newx(result_context, sizeof(cmd_reply_context_t), cmd_reply_context_t);
for (i = 0; i < argc; i++) {
argv[i] = SvPV(ST(i + 1), len);
argvlen[i] = len;
}
Redis__Cluster__Fast_run_cmd(aTHX_ self, argc, (const char **) argv, argvlen, result_context, cb);
ST(0) = result_context->result ?
sv_2mortal(result_context->result) : &PL_sv_undef;
ST(1) = result_context->error ?
sv_2mortal(result_context->error) : &PL_sv_undef;
Safefree(argv);
Safefree(argvlen);
Safefree(result_context);
XSRETURN(2);
int
__run_event_loop(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_run_event_loop(aTHX_ self);
OUTPUT:
RETVAL
int
__wait_one_response(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_wait_one_response(aTHX_ self);
OUTPUT:
RETVAL
int
__wait_all_responses(Redis::Cluster::Fast self)
CODE:
RETVAL = Redis__Cluster__Fast_wait_all_responses(aTHX_ self);
OUTPUT:
RETVAL
void
DESTROY(Redis::Cluster::Fast self)
CODE:
if (self->cluster_event_base) {
DEBUG_MSG("%s", "trying to free event_base");
( run in 0.627 second using v1.01-cache-2.11-cpan-5511b514fd6 )