return also raw (hex) message data v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 05 Mar 2022 19:41:05 +0100
branchv_0
changeset 4 f9d43c5adae9
parent 3 b71fc3b5e56b
child 5 c6ef2463e100
return also raw (hex) message data
src/PosixMQCommand.cpp
--- a/src/PosixMQCommand.cpp	Fri Mar 04 19:43:16 2022 +0100
+++ b/src/PosixMQCommand.cpp	Sat Mar 05 19:41:05 2022 +0100
@@ -21,6 +21,8 @@
 #include <regex>
 #include <algorithm>
 #include <unistd.h>
+#include <sstream>
+#include <iomanip>
 
 #include <relpipe/writer/RelationalWriter.h>
 #include <relpipe/writer/RelpipeWriterException.h>
@@ -48,12 +50,20 @@
 
 	writer->startRelation(configuration.relation,{
 		{L"queue", TypeId::STRING},
-		{L"message", TypeId::STRING}
+		{L"text", TypeId::STRING},
+		{L"data", TypeId::STRING}
 	}, true);
 
 	for (int i = configuration.messageCount; i > 0; i--) {
+		std::string message = mq->receive();
+
+		std::stringstream hex;
+		hex << std::hex << std::setfill('0');
+		for (uint8_t b : message) hex << std::setw(2) << (int) b;
+
 		writer->writeAttribute(configuration.queue);
-		writer->writeAttribute(convertor.from_bytes(mq->receive()));
+		writer->writeAttribute(convertor.from_bytes(message)); // Show at least ASCII characters + ... if UTF-8 decoding fails
+		writer->writeAttribute(convertor.from_bytes(hex.str()));
 	}
 
 }