X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ricxappframe%2Frmr%2Fhelpers.py;h=3cf1c548397809974477bb20501cde81965b226b;hb=bbc9028aa34ae48e7806596cd05fbe7a5bfd7fb8;hp=bc7a4fb978300509ba7c67c3c5b565fb554c2e74;hpb=df048193df5fc166961a01d8fc8a2248a649ba53;p=ric-plt%2Fxapp-frame-py.git diff --git a/ricxappframe/rmr/helpers.py b/ricxappframe/rmr/helpers.py index bc7a4fb..3cf1c54 100644 --- a/ricxappframe/rmr/helpers.py +++ b/ricxappframe/rmr/helpers.py @@ -22,17 +22,17 @@ from ricxappframe.rmr import rmr -def rmr_rcvall_msgs(mrc, pass_filter=[], timeout=0): +def rmr_rcvall_msgs(mrc, pass_filter=None, timeout=0): """ Assembles an array of all messages which can be received without blocking (but see the timeout parameter). Effectively drains the message queue if RMR is started in mt-call mode, or draining any waiting TCP buffers. If the pass_filter parameter is supplied, it is treated as one or more message types to accept (pass through). Using the default, an empty list, - results in capturing all messages. if the timeout parameter is supplied, - this call may block up to that number of milliseconds waiting for a - message to arrive. Using the default, zero, results in non-blocking - no-wait behavior. + results in capturing all messages. If the timeout parameter is supplied + and is not zero, this call may block up to that number of milliseconds + waiting for a message to arrive. Using the default, zero, results in + non-blocking no-wait behavior. Parameters ---------- @@ -60,14 +60,14 @@ def rmr_rcvall_msgs(mrc, pass_filter=[], timeout=0): if summary[rmr.RMR_MS_MSG_STATUS] != "RMR_OK": # ok indicates msg received, stop on all other states break - if len(pass_filter) == 0 or summary[rmr.RMR_MS_MSG_TYPE] in pass_filter: # no filter, or passes; capture it + if pass_filter is None or len(pass_filter) == 0 or summary[rmr.RMR_MS_MSG_TYPE] in pass_filter: # no filter, or passes; capture it new_messages.append(summary) rmr.rmr_free_msg(mbuf) # free the single buffer to avoid leak return new_messages -def rmr_rcvall_msgs_raw(mrc, pass_filter=[], timeout=0): +def rmr_rcvall_msgs_raw(mrc, pass_filter=None, timeout=0): """ Same as rmr_rcvall_msgs, but answers tuples with the raw sbuf. Useful if return-to-sender (rts) functions are required. @@ -101,7 +101,7 @@ def rmr_rcvall_msgs_raw(mrc, pass_filter=[], timeout=0): rmr.rmr_free_msg(mbuf) # free the failed-to-receive buffer break - if len(pass_filter) == 0 or mbuf.contents.mtype in pass_filter: # no filter, or passes; capture it + if pass_filter is None or len(pass_filter) == 0 or mbuf.contents.mtype in pass_filter: # no filter, or passes; capture it new_messages.append((summary, mbuf)) # caller is responsible for freeing the buffer else: rmr.rmr_free_msg(mbuf) # free the filtered-out message buffer