]> git.meshlink.io Git - meshlink/blobdiff - src/net_socket.c
Stop using global variable mesh in conf.[ch].
[meshlink] / src / net_socket.c
index 7f87d9c42056fbc9ddd40b812762e59473d9a45d..842704998e2cbba7e177dd9da6c390ddd9a83b77 100644 (file)
@@ -232,7 +232,7 @@ int setup_vpn_in_socket(const sockaddr_t *sa) {
        return nfd;
 } /* int setup_vpn_in_socket */
 
-static void retry_outgoing_handler(void *data) {
+static void retry_outgoing_handler(event_loop_t *loop, void *data) {
        setup_outgoing_connection(data);
 }
 
@@ -242,7 +242,7 @@ void retry_outgoing(outgoing_t *outgoing) {
        if(outgoing->timeout > mesh->maxtimeout)
                outgoing->timeout = mesh->maxtimeout;
 
-       timeout_add(&outgoing->ev, retry_outgoing_handler, outgoing, &(struct timeval){outgoing->timeout, rand() % 100000});
+       timeout_add(&mesh->loop, &outgoing->ev, retry_outgoing_handler, outgoing, &(struct timeval){outgoing->timeout, rand() % 100000});
 
        logger(DEBUG_CONNECTIONS, LOG_NOTICE, "Trying to re-establish outgoing connection in %d seconds", outgoing->timeout);
 }
@@ -250,7 +250,7 @@ void retry_outgoing(outgoing_t *outgoing) {
 void finish_connecting(connection_t *c) {
        logger(DEBUG_CONNECTIONS, LOG_INFO, "Connected to %s (%s)", c->name, c->hostname);
 
-       c->last_ping_time = now.tv_sec;
+       c->last_ping_time = mesh->loop.now.tv_sec;
        c->status.connecting = false;
 
        send_id(c);
@@ -323,10 +323,10 @@ static void handle_meta_write(connection_t *c) {
 
        buffer_read(&c->outbuf, outlen);
        if(!c->outbuf.len)
-               io_set(&c->io, IO_READ);
+               io_set(&mesh->loop, &c->io, IO_READ);
 }
 
-static void handle_meta_io(void *data, int flags) {
+static void handle_meta_io(event_loop_t *loop, void *data, int flags) {
        connection_t *c = data;
 
        if(c->status.connecting) {
@@ -460,11 +460,11 @@ begin:
        c->status.connecting = true;
        c->name = xstrdup(outgoing->name);
        c->outcompression = mesh->self->connection->outcompression;
-       c->last_ping_time = now.tv_sec;
+       c->last_ping_time = mesh->loop.now.tv_sec;
 
        connection_add(c);
 
-       io_add(&c->io, handle_meta_io, c, c->socket, IO_READ|IO_WRITE);
+       io_add(&mesh->loop, &c->io, handle_meta_io, c, c->socket, IO_READ|IO_WRITE);
 
        return true;
 }
@@ -503,7 +503,7 @@ static struct addrinfo *get_known_addresses(node_t *n) {
 }
 
 void setup_outgoing_connection(outgoing_t *outgoing) {
-       timeout_del(&outgoing->ev);
+       timeout_del(&mesh->loop, &outgoing->ev);
 
        node_t *n = lookup_node(outgoing->name);
 
@@ -515,7 +515,7 @@ void setup_outgoing_connection(outgoing_t *outgoing) {
        }
 
        init_configuration(&outgoing->config_tree);
-       read_host_config(outgoing->config_tree, outgoing->name);
+       read_host_config(mesh, outgoing->config_tree, outgoing->name);
        outgoing->cfg = lookup_config(outgoing->config_tree, "Address");
 
        if(!outgoing->cfg) {
@@ -534,7 +534,7 @@ void setup_outgoing_connection(outgoing_t *outgoing) {
   accept a new tcp connect and create a
   new connection
 */
-void handle_new_meta_connection(void *data, int flags) {
+void handle_new_meta_connection(event_loop_t *loop, void *data, int flags) {
        listen_socket_t *l = data;
        connection_t *c;
        sockaddr_t sa;
@@ -564,12 +564,12 @@ void handle_new_meta_connection(void *data, int flags) {
                static int samehost_burst;
                static int samehost_burst_time;
 
-               if(now.tv_sec - samehost_burst_time > samehost_burst)
+               if(mesh->loop.now.tv_sec - samehost_burst_time > samehost_burst)
                        samehost_burst = 0;
                else
-                       samehost_burst -= now.tv_sec - samehost_burst_time;
+                       samehost_burst -= mesh->loop.now.tv_sec - samehost_burst_time;
 
-               samehost_burst_time = now.tv_sec;
+               samehost_burst_time = mesh->loop.now.tv_sec;
                samehost_burst++;
 
                if(samehost_burst > max_connection_burst) {
@@ -585,12 +585,12 @@ void handle_new_meta_connection(void *data, int flags) {
        static int connection_burst;
        static int connection_burst_time;
 
-       if(now.tv_sec - connection_burst_time > connection_burst)
+       if(mesh->loop.now.tv_sec - connection_burst_time > connection_burst)
                connection_burst = 0;
        else
-               connection_burst -= now.tv_sec - connection_burst_time;
+               connection_burst -= mesh->loop.now.tv_sec - connection_burst_time;
 
-       connection_burst_time = now.tv_sec;
+       connection_burst_time = mesh->loop.now.tv_sec;
        connection_burst++;
 
        if(connection_burst >= max_connection_burst) {
@@ -608,11 +608,11 @@ void handle_new_meta_connection(void *data, int flags) {
        c->address = sa;
        c->hostname = sockaddr2hostname(&sa);
        c->socket = fd;
-       c->last_ping_time = now.tv_sec;
+       c->last_ping_time = mesh->loop.now.tv_sec;
 
        logger(DEBUG_CONNECTIONS, LOG_NOTICE, "Connection from %s", c->hostname);
 
-       io_add(&c->io, handle_meta_io, c, c->socket, IO_READ);
+       io_add(&mesh->loop, &c->io, handle_meta_io, c, c->socket, IO_READ);
 
        configure_tcp(c);
 
@@ -623,7 +623,7 @@ void handle_new_meta_connection(void *data, int flags) {
 }
 
 static void free_outgoing(outgoing_t *outgoing) {
-       timeout_del(&outgoing->ev);
+       timeout_del(&mesh->loop, &outgoing->ev);
 
        if(outgoing->ai)
                freeaddrinfo(outgoing->ai);