mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-15 07:54:33 +00:00
3a93244ed8
This version adds support for prefix-based matching of memory blocks, as well as some code-size and performance improvements on the generic code. It provides a prefix insertion and longest match which are compatible with the rest of the common features (walk, duplicates, delete, ...). This is typically used for network address matching. The longest-match code is a bit slower than the original memory block handling code, so they have not been merged together into generic code. Still it's possible to perform about 10 million networks lookups per second in a set of 50000, so this should be enough for most usages. This version also fixes some bugs in parts that were not used, so there is no need to backport them.
33 lines
1.0 KiB
C
33 lines
1.0 KiB
C
/*
|
|
* Elastic Binary Trees - exported generic functions
|
|
* Version 6.0
|
|
* (C) 2002-2010 - Willy Tarreau <w@1wt.eu>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#include "ebtree.h"
|
|
|
|
void eb_delete(struct eb_node *node)
|
|
{
|
|
__eb_delete(node);
|
|
}
|
|
|
|
/* used by insertion primitives */
|
|
REGPRM1 struct eb_node *eb_insert_dup(struct eb_node *sub, struct eb_node *new)
|
|
{
|
|
return __eb_insert_dup(sub, new);
|
|
}
|