Branch Coverage

Shared.xs
Criterion Covered Total %
branch 358 900 39.7


line true false branch
35 2 45 arena_cap = (items > 5) ? (uint64_t)SvUV(ST(5)) : 0;
36 47 0 const char *p = SvOK(path) ? SvPV_nolen(path) : NULL;
39 0 47 if (!h) croak("Data::ReqRep::Shared->new: %s", errbuf);
56 0 3 arena_cap = (items > 5) ? (uint64_t)SvUV(ST(5)) : 0;
59 0 3 if (!h) croak("Data::ReqRep::Shared->new_memfd: %s", errbuf);
73 0 1 if (!h) croak("Data::ReqRep::Shared->new_from_fd: %s", errbuf);
83 3 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
85 0 3 RETVAL = h->backing_fd;
93 51 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 51 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 51 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
102 91 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 91 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 91 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
109 0 91 if (r == -1) croak("Data::ReqRep::Shared: out of memory");
110 81 10 if (r == 1) {
112 4 77 if (utf8) SvUTF8_on(sv);
113 0 81 mXPUSHs(sv);
114 0 81 mXPUSHu((UV)id);
121 2152 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2152 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2152 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
128 2152 0 if (items > 1) timeout = SvNV(ST(1));
130 0 2152 if (r == -1) croak("Data::ReqRep::Shared: out of memory");
131 2148 4 if (r == 1) {
133 0 2148 if (utf8) SvUTF8_on(sv);
134 0 2148 mXPUSHs(sv);
135 0 2148 mXPUSHu((UV)id);
143 6 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 6 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 6 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
151 14 2 for (UV i = 0; i < count; i++) {
153 4 10 if (last_r <= 0) break;
155 0 10 if (utf8) SvUTF8_on(sv);
156 0 10 mXPUSHs(sv);
157 0 10 mXPUSHu((UV)id);
161 0 6 if (last_r == -1) croak("Data::ReqRep::Shared: out of memory");
168 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
175 2 0 if (items > 2) timeout = SvNV(ST(2));
178 0 2 if (r == -1) croak("Data::ReqRep::Shared: out of memory");
179 1 1 if (r != 1) XSRETURN(0);
182 0 1 if (utf8) SvUTF8_on(sv);
183 0 1 mXPUSHs(sv);
184 0 1 mXPUSHu((UV)id);
188 4 0 for (UV i = 1; i < count; i++) {
190 1 3 if (r2 <= 0) break;
192 0 3 if (utf8) SvUTF8_on(sv);
193 0 3 mXPUSHs(sv);
194 0 3 mXPUSHu((UV)id);
203 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
210 1 1 max_count = (items > 1) ? (uint32_t)SvUV(ST(1)) : UINT32_MAX;
212 10 1 while (max_count-- > 0) {
214 1 9 if (r <= 0) break;
216 0 9 if (utf8) SvUTF8_on(sv);
217 0 9 mXPUSHs(sv);
218 0 9 mXPUSHu((UV)id);
229 2249 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2249 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2249 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
235 0 2249 if (r == -1) croak("Data::ReqRep::Shared: invalid slot index");
236 1 2248 if (r == -3) croak("Data::ReqRep::Shared: response too long (max %u bytes)", h->resp_data_max);
237 2047 201 RETVAL = (r == 1);
245 23 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 23 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 23 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
255 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
257 0 4 RETVAL = h->req_cap;
265 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
267 0 4 RETVAL = h->resp_slots;
275 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
277 0 4 RETVAL = h->resp_data_max;
285 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
287 4 0 RETVAL = (reqrep_size(h) == 0);
295 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
304 29 0 if (sv_isobject(self_or_class)) {
306 0 29 if (!h) croak("Attempted to use a destroyed object");
309 0 0 if (items < 2) croak("Usage: Data::ReqRep::Shared->unlink($path)");
312 0 29 if (!path) croak("cannot unlink anonymous or memfd channel");
313 0 29 if (unlink(path) != 0)
320 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
322 0 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
330 3 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
357 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
359 0 0 if (reqrep_sync(h) != 0)
366 5 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 5 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 5 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
369 0 5 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
378 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
386 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
388 0 2 RETVAL = h->notify_fd;
396 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
404 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
412 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
415 0 4 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
424 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
432 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
434 0 2 RETVAL = h->reply_fd;
442 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
450 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared", self);
466 0 42 if (!h) croak("Data::ReqRep::Shared::Client->new: %s", errbuf);
480 0 1 if (!h) croak("Data::ReqRep::Shared::Client->new_from_fd: %s", errbuf);
490 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
492 0 0 RETVAL = h->backing_fd;
500 43 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 43 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 43 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
510 96 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 96 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 96 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
517 0 96 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
518 93 3 RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef;
527 216 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 216 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 216 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
532 216 0 if (items > 2) timeout = SvNV(ST(2));
536 0 216 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
537 215 1 RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef;
546 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
553 0 1 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
554 1 0 if (r == 1) {
568 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
573 1 0 if (items > 2) timeout = SvNV(ST(2));
577 0 1 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
578 1 0 if (r == 1) {
592 90 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 90 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 90 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
598 0 90 if (r == -1) croak("Data::ReqRep::Shared::Client: invalid slot index");
599 0 90 if (r == -2) croak("Data::ReqRep::Shared::Client: out of memory");
600 89 1 if (r == 1) {
602 4 85 if (utf8) SvUTF8_on(RETVAL);
614 6 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 6 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 6 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
620 6 0 if (items > 2) timeout = SvNV(ST(2));
622 0 6 if (r == -1) croak("Data::ReqRep::Shared::Client: invalid slot index");
623 0 6 if (r == -2) croak("Data::ReqRep::Shared::Client: out of memory");
624 3 3 if (r == 1) {
626 0 3 if (utf8) SvUTF8_on(RETVAL);
638 747 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 747 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 747 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
647 0 747 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
648 747 0 if (r == 1) {
650 0 747 if (out_utf8) SvUTF8_on(RETVAL);
663 1801 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1801 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1801 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
672 0 1801 if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)");
673 1800 1 if (r == 1) {
675 0 1800 if (out_utf8) SvUTF8_on(RETVAL);
687 213 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 213 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 213 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
695 7 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 7 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 7 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
697 0 7 RETVAL = (UV)reqrep_pending(h);
705 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
707 0 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
715 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
742 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
752 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
754 0 4 RETVAL = h->req_cap;
762 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
764 4 0 RETVAL = (reqrep_size(h) == 0);
772 4 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 4 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
774 0 4 RETVAL = h->resp_slots;
782 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
784 0 0 RETVAL = h->resp_data_max;
792 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
795 0 2 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
804 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
812 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
814 0 2 RETVAL = h->reply_fd;
822 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
830 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
839 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
847 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self);
849 0 0 RETVAL = h->notify_fd;
865 7 0 const char *p = SvOK(path) ? SvPV_nolen(path) : NULL;
867 0 7 if (!h) croak("Data::ReqRep::Shared::Int->new: %s", errbuf);
883 0 1 if (!h) croak("Data::ReqRep::Shared::Int->new_memfd: %s", errbuf);
897 0 1 if (!h) croak("Data::ReqRep::Shared::Int->new_from_fd: %s", errbuf);
907 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
909 0 1 RETVAL = h->backing_fd;
917 9 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 9 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 9 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
926 31 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 31 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 31 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
930 29 2 if (reqrep_int_try_recv(h, &value, &id)) {
931 0 29 mXPUSHi((IV)value);
932 0 29 mXPUSHu((UV)id);
939 7 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 7 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 7 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
944 7 0 if (items > 1) timeout = SvNV(ST(1));
945 7 0 if (reqrep_int_recv_wait(h, &value, &id, timeout)) {
946 0 7 mXPUSHi((IV)value);
947 0 7 mXPUSHu((UV)id);
956 35 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 35 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 35 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
959 0 35 if (r == -1) croak("Data::ReqRep::Shared::Int: invalid slot index");
960 32 3 RETVAL = (r == 1);
968 3 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
978 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
980 0 2 RETVAL = h->req_cap;
988 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
990 0 2 RETVAL = h->resp_slots;
998 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1000 0 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
1008 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1010 1 0 RETVAL = (reqrep_int_size(h) == 0);
1018 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1020 0 0 RETVAL = h->resp_data_max;
1028 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1052 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1060 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1062 0 0 if (reqrep_sync(h) != 0) croak("msync: %s", strerror(errno));
1068 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1071 0 1 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
1080 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1088 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1090 0 1 RETVAL = h->notify_fd;
1098 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1106 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1114 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1117 0 1 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
1126 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1134 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1136 0 0 RETVAL = h->reply_fd;
1144 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1152 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self);
1161 5 0 if (sv_isobject(self_or_class)) {
1163 0 5 if (!h) croak("Attempted to use a destroyed object");
1166 0 0 if (items < 2) croak("Usage: ...->unlink($path)");
1169 0 5 if (!path) croak("cannot unlink anonymous or memfd channel");
1170 0 5 if (unlink(path) != 0) croak("unlink(%s): %s", path, strerror(errno));
1184 0 7 if (!h) croak("Data::ReqRep::Shared::Int::Client->new: %s", errbuf);
1198 0 1 if (!h) croak("Data::ReqRep::Shared::Int::Client->new_from_fd: %s", errbuf);
1208 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1210 0 0 RETVAL = h->backing_fd;
1218 8 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 8 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 8 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1228 32 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 32 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 32 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1232 30 2 RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef;
1241 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1245 2 0 if (items > 2) timeout = SvNV(ST(2));
1247 2 0 RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef;
1256 25 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 25 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 25 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1260 0 25 if (r == -1) croak("invalid slot index");
1261 25 0 RETVAL = (r == 1) ? newSViv((IV)value) : &PL_sv_undef;
1270 2 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 2 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1274 2 0 if (items > 2) timeout = SvNV(ST(2));
1276 0 2 if (r == -1) croak("invalid slot index");
1277 2 0 RETVAL = (r == 1) ? newSViv((IV)value) : &PL_sv_undef;
1286 5 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 5 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 5 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1290 5 0 RETVAL = (r == 1) ? newSViv((IV)out) : &PL_sv_undef;
1300 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1304 0 1 RETVAL = (r == 1) ? newSViv((IV)out) : &PL_sv_undef;
1313 3 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1321 3 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 3 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1323 0 3 RETVAL = (UV)reqrep_pending(h);
1331 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1341 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1343 0 1 RETVAL = h->req_cap;
1351 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1353 1 0 RETVAL = (reqrep_int_size(h) == 0);
1361 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1363 0 0 RETVAL = h->resp_slots;
1371 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1373 0 0 RETVAL = h->resp_data_max;
1381 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1399 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1401 0 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
1409 1 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 1 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1412 0 1 if (RETVAL < 0) croak("eventfd: %s", strerror(errno));
1421 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1429 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1431 0 0 RETVAL = h->reply_fd;
1439 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1447 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1456 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1464 0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
0 0 EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self);
1466 0 0 RETVAL = h->notify_fd;