< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] UdpTransport.process only processes a single incoming and outgoing message


Hello, Again,

When calling SipStack::process() -> TransportSelector()::process() ->
UdpTransport::process(),

UdpTransport::process() only processes a single incoming and single outgoing
message. I believe this is causing delays in processing network messages
under load. Other "process()" child functions of SipStack::process() have
while(message available) style loops to clear out buffers.  Ares_process()
is also suspect of this behavior.  

A suggestion would be to change to something like:

while (mTxFifo.messageAvailable())

This may lead to starving other parts of this thread if there was enough
network traffic so limiting the while loop to some finite number would be
needed.

Thoughts?

Thanks,
-Justin