[Serdev] CVS:commitlog: rtpproxy main.c rtpp_session.h

Maxim Sobolev sobomax at sippysoft.com
Wed Apr 12 03:42:58 UTC 2006


sobomax     2006/04/12 05:42:57 CEST

  SER CVS Repository

  Modified files:
    .                    main.c rtpp_session.h 
  Log:
  1. Improve scalability by eliminating rebuilding of internal fd-to-session
  lookup tables on each session insertion/removal. Instead, mark deleted
  entry as NULL in session table and set appropriate fd to -1 in table
  that we pass to poll(2), which according to poll documentation should
  instruct it to ignore appropriate entry. Keep track of number of wasted
  entries and do rebuild when number of dead entries becomes more than
  50% of all entries.
  
  Add several assertions here and there to ensure that we keep tables
  consistent.
  
  2. Do proper draining of control socket, otherwise we are limited to
  processing maximum of 100 command per second, which is pretty low
  considering that we need at least 2 commands to create session. Also,
  in remote control mode it can cause stalls and further load increase
  due to retransmits. We need to add
  
  3. Allow changing log level at compile time.
  
  4. Fix file descriptor leak introduced in one of the previous commits.
  
  Revision  Changes    Path
  1.38      +114 -73   rtpproxy/main.c
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/rtpproxy/main.c.diff?r1=1.37&r2=1.38
  1.3       +5 -1      rtpproxy/rtpp_session.h
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/rtpproxy/rtpp_session.h.diff?r1=1.2&r2=1.3




More information about the Serdev mailing list