Future-XS
view release on metacpan or search on metacpan
lib/Future/XS.xs view on Meta::CPAN
croak_from_caller("%" SVf " is not yet complete and does not provide an ->await method",
SVfARG(self));
OUTPUT:
RETVAL
void
result(SV *self)
ALIAS:
result = FALSE
get = TRUE
PPCODE:
CHECK_INSTANCE(self);
/* This PUTBACK + SPAGAIN pair is required in case future_get_result_av()
* causes the arguments stack to be reällocated. It works fine on perls
* 5.24+ but causes older perls to crash. For now we just depend on 5.24
* https://rt.cpan.org/Ticket/Display.html?id=145597
*/
PUTBACK;
AV *result = future_get_result_av(self, ix);
SPAGAIN;
if(GIMME_V == G_LIST) {
lib/Future/XS.xs view on Meta::CPAN
on_done(SV *self, SV *code)
CODE:
CHECK_INSTANCE(self);
RETVAL = newSVsv(self);
future_on_done(self, code);
OUTPUT:
RETVAL
void
failure(SV *self)
PPCODE:
CHECK_INSTANCE(self);
PUTBACK;
AV *failure = future_get_failure_av(self);
SPAGAIN;
if(!failure)
XSRETURN(0);
if(GIMME_V == G_LIST) {
XPUSHs_from_AV(failure);
XSRETURN(av_count(failure));
lib/Future/XS.xs view on Meta::CPAN
RETVAL
void
pending_futures(SV *self)
ALIAS:
pending_futures = FUTURE_SUBS_PENDING
ready_futures = FUTURE_SUBS_READY
done_futures = FUTURE_SUBS_DONE
failed_futures = FUTURE_SUBS_FAILED
cancelled_futures = FUTURE_SUBS_CANCELLED
PPCODE:
CHECK_INSTANCE(self);
PUTBACK;
Size_t count = future_mPUSH_subs(self, ix);
SPAGAIN;
XSRETURN(count);
SV *
btime(SV *self)
ALIAS:
btime = 0
( run in 1.064 second using v1.01-cache-2.11-cpan-71847e10f99 )