Use splay trees instead of AVL trees.
[tinc] / src / connection.c
index 5cd7a74..408ef6c 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "system.h"
 
-#include "avl_tree.h"
+#include "splay_tree.h"
 #include "conf.h"
 #include "list.h"
 #include "logger.h"
 #include "utils.h"
 #include "xalloc.h"
 
-avl_tree_t *connection_tree;   /* Meta connections */
+splay_tree_t *connection_tree; /* Meta connections */
 connection_t *broadcast;
 
-static int connection_compare(const connection_t *a, const connection_t *b)
-{
+static int connection_compare(const connection_t *a, const connection_t *b) {
        return (void *)a - (void *)b;
 }
 
-void init_connections(void)
-{
+void init_connections(void) {
        cp();
 
-       connection_tree = avl_alloc_tree((avl_compare_t) connection_compare, (avl_action_t) free_connection);
+       connection_tree = splay_alloc_tree((splay_compare_t) connection_compare, (splay_action_t) free_connection);
        broadcast = new_connection();
        broadcast->name = xstrdup(_("everyone"));
        broadcast->hostname = xstrdup(_("BROADCAST"));
 }
 
-void exit_connections(void)
-{
+void exit_connections(void) {
        cp();
 
-       avl_delete_tree(connection_tree);
+       splay_delete_tree(connection_tree);
        free_connection(broadcast);
 }
 
-connection_t *new_connection(void)
-{
+connection_t *new_connection(void) {
        connection_t *c;
 
        cp();
@@ -75,8 +71,7 @@ connection_t *new_connection(void)
        return c;
 }
 
-void free_connection(connection_t *c)
-{
+void free_connection(connection_t *c) {
        cp();
 
        if(!c)
@@ -104,23 +99,20 @@ void free_connection(connection_t *c)
        free(c);
 }
 
-void connection_add(connection_t *c)
-{
+void connection_add(connection_t *c) {
        cp();
 
-       avl_insert(connection_tree, c);
+       splay_insert(connection_tree, c);
 }
 
-void connection_del(connection_t *c)
-{
+void connection_del(connection_t *c) {
        cp();
 
-       avl_delete(connection_tree, c);
+       splay_delete(connection_tree, c);
 }
 
-void dump_connections(void)
-{
-       avl_node_t *node;
+void dump_connections(void) {
+       splay_node_t *node;
        connection_t *c;
 
        cp();
@@ -137,8 +129,7 @@ void dump_connections(void)
        logger(LOG_DEBUG, _("End of connections."));
 }
 
-bool read_connection_config(connection_t *c)
-{
+bool read_connection_config(connection_t *c) {
        char *fname;
        int x;