Use splay trees instead of AVL trees.
[tinc] / src / net.c
index 5638e64..469f10f 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -25,7 +25,7 @@
 #include <openssl/rand.h>
 
 #include "utils.h"
-#include "avl_tree.h"
+#include "splay_tree.h"
 #include "conf.h"
 #include "connection.h"
 #include "device.h"
@@ -41,9 +41,8 @@
 
 /* Purge edges and subnets of unreachable nodes. Use carefully. */
 
-static void purge(void)
-{
-       avl_node_t *nnode, *nnext, *enode, *enext, *snode, *snext;
+static void purge(void) {
+       splay_node_t *nnode, *nnext, *enode, *enext, *snode, *snext;
        node_t *n;
        edge_t *e;
        subnet_t *s;
@@ -105,9 +104,8 @@ static void purge(void)
   put all file descriptors into events
   While we're at it, purge stuf that needs to be removed.
 */
-static int build_fdset(void)
-{
-       avl_node_t *node, *next;
+static int build_fdset(void) {
+       splay_node_t *node, *next;
        connection_t *c;
        int i, max = 0;
 
@@ -134,8 +132,7 @@ static int build_fdset(void)
   - Check if we need to retry making an outgoing connection
   - Deactivate the host
 */
-void terminate_connection(connection_t *c, bool report)
-{
+void terminate_connection(connection_t *c, bool report) {
        cp();
 
        if(c->status.remove)
@@ -200,9 +197,8 @@ void terminate_connection(connection_t *c, bool report)
   end does not reply in time, we consider them dead
   and close the connection.
 */
-static void timeout_handler(int fd, short events, void *event)
-{
-       avl_node_t *node, *next;
+static void timeout_handler(int fd, short events, void *event) {
+       splay_node_t *node, *next;
        connection_t *c;
        time_t now = time(NULL);
 
@@ -245,8 +241,7 @@ static void timeout_handler(int fd, short events, void *event)
        event_add(event, &(struct timeval){pingtimeout, 0});
 }
 
-void handle_meta_connection_data(int fd, short events, void *data)
-{
+void handle_meta_connection_data(int fd, short events, void *data) {
        connection_t *c = data;
        int result;
        socklen_t len = sizeof(result);
@@ -320,7 +315,7 @@ static void sigwinch_handler(int signal, short events, void *data) {
 
 static void sighup_handler(int signal, short events, void *data) {
        connection_t *c;
-       avl_node_t *node;
+       splay_node_t *node;
        char *fname;
        struct stat s;
        static time_t last_config_check = 0;
@@ -368,7 +363,7 @@ static void sigalrm_handler(int signal, short events, void *data) {
        logger(LOG_NOTICE, _("Got %s signal"), strsignal(signal));
 
        connection_t *c;
-       avl_node_t *node;
+       splay_node_t *node;
 
        for(node = connection_tree->head; node; node = node->next) {
                c = node->data;
@@ -387,8 +382,7 @@ static void sigalrm_handler(int signal, short events, void *data) {
 /*
   this is where it all happens...
 */
-int main_loop(void)
-{
+int main_loop(void) {
        struct timeval tv;
        int r;
        struct event timeout_event;