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

Justin Matthews justin.matthews at ivr.com
Thu Jun 30 15:55:04 CDT 2005


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  




More information about the resiprocate-devel mailing list