(pat) Every now and then check every SipDialog engine for SIP timer expiration.
| 681 | |
| 682 | // (pat) Every now and then check every SipDialog engine for SIP timer expiration. |
| 683 | static 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 | |
| 698 | SipInterface gSipInterface; // Here it is. |
| 699 |
nothing calls this directly
no test coverage detected