ms: pretty tx buf class

Change-Id: I96c5dd79426a52e7fff2df27bdaa3fae0c69491a
diff --git a/Transceiver52M/ms/ms_upper.cpp b/Transceiver52M/ms/ms_upper.cpp
index 5b213f7..cae1893 100644
--- a/Transceiver52M/ms/ms_upper.cpp
+++ b/Transceiver52M/ms/ms_upper.cpp
@@ -72,6 +72,13 @@
 struct internal_q_tx_buf {
 	trxcon_phyif_burst_req r;
 	uint8_t buf[148];
+	internal_q_tx_buf() = default;
+	internal_q_tx_buf(const internal_q_tx_buf &) = delete;
+	internal_q_tx_buf &operator=(const internal_q_tx_buf &) = default;
+	internal_q_tx_buf(const struct trxcon::trxcon_phyif_burst_req *br) : r(*br)
+	{
+		memcpy(buf, (void *)br->burst, br->burst_len);
+	}
 };
 using tx_queue_t = spsc_cond<8 * 1, internal_q_tx_buf, true, false>;
 using cmd_queue_t = spsc_cond<8 * 1, trxcon_phyif_cmd, true, false>;
@@ -415,10 +422,7 @@
 		return 0;
 	OSMO_ASSERT(br->burst != 0);
 
-	trxcon::internal_q_tx_buf b;
-	b.r = *br;
-	memcpy(b.buf, (void *)br->burst, br->burst_len);
-
+	trxcon::internal_q_tx_buf b(br);
 	if (!g_exit_flag)
 		trxcon::txq.spsc_push(&b);
 	return 0;