[asterisk-commits] russell: branch russell/iax2_performance r51142 - /team/russell/iax2_performa...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Jan 16 09:25:11 MST 2007


Author: russell
Date: Tue Jan 16 10:25:10 2007
New Revision: 51142

URL: http://svn.digium.com/view/asterisk?view=rev&rev=51142
Log:
Add some code I wrote while bored on a train.  Basically, it introduces a
second container for iax2 pvt structures.  It puts active pvt structs in a hash
table as soon as the peer's call number is known, or when it changes due to a
transfer or something.  The hash is done on the peer's IP address, port number,
and their call number.  Then, the operation that is done to find the pvt struct
for each incoming media frame is *highly* optimized.  Instead of doing a linear
search through every possible call number, locking and unlocking each one, it
just calculates the hash, and finds it in the hash table.  Each hash bucket is
just a linked list, but the number of objects in each bucket will be
relatively small compared to what was done before.

Added:
    team/russell/iax2_performance/
      - copied from r51141, team/russell/private/iax2_performance/



More information about the asterisk-commits mailing list