[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