Commit Graph

1352 Commits (799fc3b99fa19e74499b691ab7bd7fd00117b4cf)

Author SHA1 Message Date
Jason Parker cfbc4f5fb8 Doxygen fixes.
18 years ago
Steve Murphy db1000b803 Thanks to snuffy for this doxygen update to hashtab.h; closes issue #11223
18 years ago
Steve Murphy fd1fbb0223 Thanks to snuff-work, who brought up that these fixes might need to be made.
18 years ago
Steve Murphy a897556f7f This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
18 years ago
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
18 years ago
Russell Bryant 4afb905cf0 Print out the channel name as a prefix to the "agi debug" output. This makes
18 years ago
Tilghman Lesher 7c56918262 Commit some cleanups to the format type code.
18 years ago
Tilghman Lesher 3c9bc8827b Merged revisions 89045 via svnmerge from
18 years ago
Olle Johansson 6519abeffc Additional TDD changes (preparing for SIP changes - adding TDD support to SIP)
18 years ago
Jason Parker 2c582c7cfb Allow gtalk and jingle to use TLS connections again.
18 years ago
Tilghman Lesher 32701f5031 Set up detection of IP_PKTINFO in autoconf for chan_unistim
18 years ago
Russell Bryant 9bfd82cec2 Merged revisions 88805 via svnmerge from
18 years ago
Russell Bryant ed6e62a8e5 Merged revisions 88931 via svnmerge from
18 years ago
Kevin P. Fleming 1c96946877 Merged revisions 88862 via svnmerge from
18 years ago
Russell Bryant aecb21e822 Merged revisions 88719 via svnmerge from
18 years ago
Luigi Rizzo 08b10da53b Simplify the implementation and the API for stringfields;
18 years ago
Tilghman Lesher e8c781b215 Add pbx_lua as a method of doing extensions
18 years ago
Tilghman Lesher ce90623010 Merged revisions 88210 via svnmerge from
18 years ago
Jason Parker 2902601eea Remove traces of gnutls, since we no longer use/need it.
18 years ago
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
18 years ago
Jason Parker 5a58a4c475 Switch res_jabber to use openssl rather than gnutls.
18 years ago
Joshua Colp 2b33aca04c Remove old whisper remnants from channel.h
18 years ago
Tilghman Lesher 59ca511408 Merged revisions 87739 via svnmerge from
18 years ago
Russell Bryant f7782d60d1 Merged revisions 87396 via svnmerge from
18 years ago
Joshua Colp c8777404b3 Add autoconf checks for extra suppserv definitions that are not present in releases yet. chan_misdn should now build against the latest release.
18 years ago
Steve Murphy c9f3efc381 Merged revisions 87168 via svnmerge from
18 years ago
Tilghman Lesher 446a6cdc94 Use the same delimited character as the FILTER function in FIELDQTY and CUT.
18 years ago
Kevin P. Fleming c6a8d45f43 Merged revisions 87069 via svnmerge from
18 years ago
Russell Bryant 8bf796ec10 Merged revisions 86836 via svnmerge from
18 years ago
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
18 years ago
Russell Bryant 3b92c7b262 Merged revisions 86726 via svnmerge from
18 years ago
Russell Bryant 56879bf978 Merged revisions 85532 via svnmerge from
18 years ago
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
18 years ago
Russell Bryant 155aaf947f Merged revisions 86330 via svnmerge from
18 years ago
Russell Bryant dbdbdb7f43 Merged revisions 85997 via svnmerge from
18 years ago
Russell Bryant 5007769d4e Merged revisions 85994 via svnmerge from
18 years ago
Russell Bryant a4d915608b Merged revisions 85561 via svnmerge from
18 years ago
Russell Bryant eec3f78368 Merged revisions 85533 via svnmerge from
18 years ago
Russell Bryant a6507769ca Merged revisions 85316 via svnmerge from
18 years ago
Kevin P. Fleming cf12ac90b3 Merged revisions 85195 via svnmerge from
18 years ago
Tilghman Lesher e9221b062e Merged revisions 85158 via svnmerge from
18 years ago
Philippe Sultan 510430a6a2 Make the status and priority configurable.
18 years ago
Tilghman Lesher c2f7cc4bd4 Create a universal exception handling extension, "e" (closes issue #9785)
19 years ago
Russell Bryant 9334e72e76 Merged revisions 84271 via svnmerge from
19 years ago
Russell Bryant 1f3f7215d8 Merged revisions 84206 via svnmerge from
19 years ago
Russell Bryant 019c07e63e Merged revisions 84146 via svnmerge from
19 years ago
Dwayne M. Hubbard bd5b6cea68 Merged revisions 84018 via svnmerge from
19 years ago
Russell Bryant f04b586267 fix a typo in a comment
19 years ago
Russell Bryant 6e8997fe3c Change function documentation to use doxygen tags. (Really, I just needed
19 years ago
Russell Bryant b6abd3c659 Don't note that functions are deprecated in favor of themselves. This was
19 years ago