| 306 | } |
| 307 | |
| 308 | void send_receive_message(const std::string &tag, pn_test::driver_pair &d) { |
| 309 | pn_link_t *l = d.client.handler.link; |
| 310 | CHECKED_IF(pn_link_credit(l) > 0) { |
| 311 | pn_delivery_t *sd = pn_delivery(l, pn_dtag(tag.data(), tag.size())); |
| 312 | d.server.handler.delivery = NULL; |
| 313 | CHECK(pn_delivery_current(sd)); |
| 314 | CHECK(ssize_t(tag.size()) == pn_link_send(l, tag.data(), tag.size())); |
| 315 | pn_delivery_settle(sd); |
| 316 | d.run(); |
| 317 | pn_delivery_t *rd = d.server.handler.delivery; |
| 318 | d.server.handler.delivery = NULL; |
| 319 | CHECKED_IF(rd) { |
| 320 | CHECK(pn_delivery_current(rd)); |
| 321 | std::string rbuf(tag.size() * 2, 'x'); |
| 322 | CHECK(ssize_t(tag.size()) == |
| 323 | pn_link_recv(pn_delivery_link(rd), &rbuf[0], rbuf.size())); |
| 324 | rbuf.resize(tag.size()); |
| 325 | CHECK(tag == rbuf); |
| 326 | } |
| 327 | pn_delivery_settle(rd); |
| 328 | } |
| 329 | } |
| 330 | |
| 331 | #define SEND_RECEIVE_MESSAGE(TAG, DP) \ |
| 332 | do { \ |
nothing calls this directly
no test coverage detected