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

Function message_decode

cpp/src/messaging_adapter.cpp:99–111  ·  view source on GitHub ↗

Decode the message corresponding to a delivery from a link.

Source from the content-addressed store, hash-verified

97
98// Decode the message corresponding to a delivery from a link.
99void message_decode(message& msg, proton::delivery delivery) {
100 std::vector<char> buf;
101 buf.resize(pn_delivery_pending(unwrap(delivery)));
102 if (buf.empty())
103 throw error("message decode: no delivery pending on link");
104 proton::receiver link = delivery.receiver();
105 assert(!buf.empty());
106 ssize_t n = pn_link_recv(unwrap(link), const_cast<char *>(&buf[0]), buf.size());
107 if (n != ssize_t(buf.size())) throw error(MSG("receiver read failure"));
108 msg.clear();
109 msg.decode(buf);
110 pn_link_advance(unwrap(link));
111}
112
113void on_delivery(messaging_handler& handler, pn_event_t* event) {
114 pn_link_t *lnk = pn_event_link(event);

Callers 1

on_deliveryFunction · 0.70

Calls 10

pn_delivery_pendingFunction · 0.85
unwrapFunction · 0.85
errorClass · 0.85
pn_link_advanceFunction · 0.85
pn_link_recvFunction · 0.50
emptyMethod · 0.45
receiverMethod · 0.45
sizeMethod · 0.45
clearMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected