MCPcopy Create free account
hub / github.com/RangeNetworks/openbts / periodicServiceLoop

Function periodicServiceLoop

SIP/SIP2Interface.cpp:683–696  ·  view source on GitHub ↗

(pat) Every now and then check every SipDialog engine for SIP timer expiration.

Source from the content-addressed store, hash-verified

681
682// (pat) Every now and then check every SipDialog engine for SIP timer expiration.
683static void periodicServiceLoop(SipInterface *si)
684{
685 while (true) {
686 si->tuMapPeriodicService();
687 si->dmPeriodicService();
688 si->purgeDeadDialogs();
689 // This timing is entirely non-critical, so dont bother to compute the exact next timeout,
690 // just delay a while and retry.
691 // Implicit assumption that Timer.E < Timer.F
692 unsigned howlong = gConfig.getNum("SIP.Timer.E")/2;
693 if (howlong < 250) { howlong = 250; } // Dont eat all the cpu cycles if someone accidently sets this too low.
694 msleep(howlong);
695 }
696}
697
698SipInterface gSipInterface; // Here it is.
699

Callers

nothing calls this directly

Calls 3

tuMapPeriodicServiceMethod · 0.80
dmPeriodicServiceMethod · 0.80
purgeDeadDialogsMethod · 0.80

Tested by

no test coverage detected