From 393c3f33c4f4aebd82ab18c795bdd671ad3c3a00 Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Wed, 15 Dec 2021 21:45:38 -0500 Subject: [PATCH] WIP: Extend frame tracing to decode the performative payloads This should probably only try to decode the transfer performative. But currently the frame dumper has no way to feed back anything about the AMQP value it just dumped. --- c/src/core/logger.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/c/src/core/logger.c b/c/src/core/logger.c index 47009e2ea6..8f783ee22c 100644 --- a/c/src/core/logger.c +++ b/c/src/core/logger.c @@ -226,6 +226,11 @@ void pni_logger_log_msg_frame(pn_logger_t *logger, pn_log_subsystem_t subsystem, va_end(ap); size_t psize = pni_value_dump(frame, &output); pn_bytes_t payload = {.size=frame.size-psize, .start=frame.start+psize}; + while (payload.size>0 && psize>0) { + pn_fixed_string_append(&output, pn_string_const(" ", 1)); + psize = pni_value_dump(payload, &output); + payload = (pn_bytes_t){.size=payload.size-psize, .start=payload.start+psize}; + } if (payload.size>0) { pn_fixed_string_addf(&output, " (%zu) ", payload.size); pn_fixed_string_quote(&output, payload.start, payload.size);