How to decide the msgq_limit?

Dear all,

I’m using gr.message_source as the signal source and using
multiply_const_ff to set the amplitude of the signal then feeding the
signal into USRP1 with LFTX plugged-in. The message need to be
transmitted in my project is 3315 bytes. After the flow graph starting
to run, msgq.insert_tail() is utilized to insert the message into the
flow graph. The amplitude changes every time after the message is
transmitted. I only called insert_tail() once in every cycle of
transmission to feed the message and expect the message to be sent once,
but the result turns out the times of the message transmission is
ranging from once to 10 times, which means sometimes the message is only
transmitted once, sometimes it continuously repeated 10 times. What’s
the problem would be? What decide the parameter, msgq_limit, which is
the maximum number of message in the message queue? Can I send this 3315
bytes data as one message and set the msgq_limit as 1?

Really appreciate any of your suggestion!


The code related to message insert
while 1:
msg_13bit = gr.message_from_string(payload_13bit)
msg_stop = gr.message_from_string(payload_stop)

I have a vey similar issue in sending packets using FTW ofdm,
in which I tried sending only one packet but observe much more packets
in file sink.
I have not figured out if it is because of msgq() or something else in
lower layer