File Coverage

xs/Message.xs
Criterion Covered Total %
statement 50 54 92.5
branch 29 842 3.4
condition n/a
subroutine n/a
pod n/a
total 79 896 8.8


line stmt bran cond sub pod time code
1             MODULE = ZMQ::Raw PACKAGE = ZMQ::Raw::Message
2              
3             INCLUDE: const-xs-message_options.inc
4             INCLUDE: const-xs-message_properties.inc
5              
6             SV *
7             new (class)
8             SV *class
9              
10             PREINIT:
11             int rc;
12             zmq_msg_t *msg;
13              
14             CODE:
15 5           Newx (msg, 1, zmq_msg_t);
16              
17 5           rc = zmq_msg_init (msg);
18 5 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
19              
20 5 50         ZMQ_NEW_OBJ (RETVAL, SvPVbyte_nolen (class), msg);
21              
22             OUTPUT: RETVAL
23              
24             SV *
25             data (self, ...)
26             SV *self
27              
28             PREINIT:
29             int rc;
30             zmq_msg_t *msg;
31              
32             CODE:
33 15           msg = ZMQ_SV_TO_PTR (Message, self);
34              
35 15 100         if (items > 1)
36             {
37             STRLEN len;
38 6 50         char *buf = SvPV (ST (1), len);
39              
40 6           rc = zmq_msg_close (msg);
41 6 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
42              
43 6           rc = zmq_msg_init_size (msg, len);
44 6 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
45              
46 6           Copy (buf, zmq_msg_data (msg), len, char);
47             }
48              
49 15 100         if (zmq_msg_size (msg) == 0)
50 1           XSRETURN_UNDEF;
51              
52 14           RETVAL = newSVpv (zmq_msg_data (msg), zmq_msg_size (msg));
53              
54             OUTPUT: RETVAL
55              
56             int
57             more (self)
58             SV *self
59              
60             CODE:
61 7           RETVAL = zmq_msg_more (ZMQ_SV_TO_PTR (Message, self));
62              
63             OUTPUT: RETVAL
64              
65             unsigned int
66             size (self)
67             SV *self
68              
69             CODE:
70 6           RETVAL = (unsigned int)zmq_msg_size (ZMQ_SV_TO_PTR (Message, self));
71              
72             OUTPUT: RETVAL
73              
74             SV *
75             clone (self)
76             SV *self
77              
78             PREINIT:
79             int rc;
80             zmq_msg_t *msg, *old;
81              
82             CODE:
83 1           old = ZMQ_SV_TO_PTR (Message, self);
84              
85 1           Newx (msg, 1, zmq_msg_t);
86 1           rc = zmq_msg_init (msg);
87 1 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
88              
89 1           rc = zmq_msg_copy (msg, old);
90 1 50         if (rc < 0)
91 0           Safefree (msg);
92 1 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
93              
94 1           ZMQ_NEW_OBJ (RETVAL, "ZMQ::Raw::Message", msg);
95              
96             OUTPUT: RETVAL
97              
98             unsigned int
99             routing_id(self, ...)
100             SV *self
101              
102             PREINIT:
103             int rc;
104             uint32_t id;
105              
106             CODE:
107 2 100         if (items > 1)
108             {
109 1 50         if (!SvIOK (ST (1)) || SvIV (ST (1)) < 0)
    50          
    50          
    0          
110 0           croak_usage ("routing_id should be unsigned");
111              
112 1 50         id = SvIV (ST (1));
113 1           rc = zmq_msg_set_routing_id (ZMQ_SV_TO_PTR (Message, self), id);
114 1 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
115             }
116              
117 2           id = zmq_msg_routing_id (ZMQ_SV_TO_PTR (Message, self));
118 2 100         if (id == 0)
119 1           XSRETURN_UNDEF;
120              
121 1           RETVAL = id;
122              
123             OUTPUT: RETVAL
124              
125             const char *
126             group (self, ...)
127             SV *self
128              
129             PREINIT:
130             int rc;
131             const char *g;
132              
133             CODE:
134 2 100         if (items > 1)
135             {
136 1 50         rc = zmq_msg_set_group (ZMQ_SV_TO_PTR (Message, self), SvPV_nolen (ST (1)));
137 1 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
138             }
139              
140 2           g = zmq_msg_group (ZMQ_SV_TO_PTR (Message, self));
141 2 50         if (g == NULL)
142 0           XSRETURN_UNDEF;
143              
144 2           RETVAL = g;
145              
146             OUTPUT: RETVAL
147              
148             int
149             get (self, property)
150             SV *self
151             int property
152              
153             PREINIT:
154             int rc;
155              
156             CODE:
157 1           rc = zmq_msg_get (ZMQ_SV_TO_PTR (Message, self), property);
158 1 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
159 1           RETVAL = rc;
160              
161             OUTPUT: RETVAL
162              
163             const char *
164             gets (self, property)
165             SV *self
166             const char *property
167              
168             PREINIT:
169             const char *value;
170              
171             CODE:
172 1           value = zmq_msg_gets (ZMQ_SV_TO_PTR (Message, self), property);
173 1 50         if (value == NULL)
174 1           XSRETURN_UNDEF;
175              
176 0           RETVAL = value;
177              
178             OUTPUT: RETVAL
179              
180             void
181             DESTROY(self)
182             SV *self
183              
184             PREINIT:
185             int rc;
186             zmq_msg_t *msg;
187              
188             CODE:
189 13           msg = ZMQ_SV_TO_PTR (Message, self);
190              
191 13           rc = zmq_msg_close (msg);
192 13 50         zmq_raw_check_error (rc);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
193 13           Safefree (msg);
194