[reSIProcate] throughput restriction in UdpTransport and MacOS logging

Bruce Lowekamp lowekamp at sipeerior.com
Sat Jun 3 17:00:15 CDT 2006


In UdpTransport::process() the code seems to be restricted to handling
one incoming message and one outgoing message per call:
   if (mTxFifo.messageAvailable() && fdset.readyToWrite(mFd))
...
   if ( fdset.readyToRead(mFd) )

any reason those shouldn't be while (foo) to process messages a bit
faster?  I made the change in my version and it seems to work fine,
and solves a problem we were having with excessive retransmits.



The other question is in rutil/Log:tags the part that outputs the tags
for MacOs calls time() directly rather than timestamp:
#if defined( __APPLE__ )
   strm << mDescriptions[level+1] << Log::delim
        << time(0) << Log::delim
        << mAppName << Log::delim
        << subsystem << Log::delim
        << pfile << ":" << line;
#else

I changed it to just call timestamp() so it produces the same logging
info as the other platforms (useful when trying to track down timing
issues on retransmit problems...)

Hope you're having fun at the coding party...

Bruce



More information about the resiprocate-devel mailing list