Ignore:
Timestamp:
Oct 20, 2009 1:56:26 PM (15 years ago)
Author:
bennylp
Message:

Initial commit for ticket #937: Revamping of presence management to make it more efficient

Presence enhancements:

  • finer grained buddy lock object, instead of using global PJSUA-LIB's mutex
  • individual resubscription timer for buddies and also add random delay interval so that resubscriptions don't happen simultaneously (may hog processing and bandwidth).
  • in general reduced the use of global PJSUA-LIB's mutex for more efficiency
  • added last termination code in buddy info
  • use the RPID note's text for buddy's offline status rather than the default "offline" status, if available
  • resubscribe automatically on several termination causes as explained in the ticket (still untested)

General enhancements:

  • added pjsua_schedule_timer() and pjsua_cancel_timer() APIs
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_core.c

    r2949 r2956  
    23192319} 
    23202320 
     2321/* 
     2322 * Schedule a timer entry.  
     2323 */ 
     2324PJ_DEF(pj_status_t) pjsua_schedule_timer( pj_timer_entry *entry, 
     2325                                          const pj_time_val *delay) 
     2326{ 
     2327    return pjsip_endpt_schedule_timer(pjsua_var.endpt, entry, delay); 
     2328} 
     2329 
     2330/* 
     2331 * Cancel the previously scheduled timer. 
     2332 * 
     2333 */ 
     2334PJ_DEF(void) pjsua_cancel_timer(pj_timer_entry *entry) 
     2335{ 
     2336    pjsip_endpt_cancel_timer(pjsua_var.endpt, entry); 
     2337} 
    23212338 
    23222339/**  
Note: See TracChangeset for help on using the changeset viewer.