MCPcopy Create free account
hub / github.com/apache/qpid-proton / send_receive_message

Function send_receive_message

c/tests/connection_driver_test.cpp:308–329  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

306}
307
308void 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 { \

Callers

nothing calls this directly

Calls 10

CHECKED_IFFunction · 0.85
pn_link_creditFunction · 0.85
pn_dtagFunction · 0.85
pn_delivery_currentFunction · 0.85
pn_delivery_settleFunction · 0.85
pn_deliveryFunction · 0.50
pn_link_sendFunction · 0.50
dataMethod · 0.45
sizeMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected