From 20220c75f3df5f33f46ba43930cb9b0260f29ca8 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 003a3ce5b..7a1b2c77d 100644 --- a/c/src/core/logger.c +++ b/c/src/core/logger.c @@ -247,6 +247,11 @@ void pni_logger_log_msg_frame(pn_logger_t *logger, pn_log_subsystem_t subsystem, 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);