]> git.meshlink.io Git - meshlink/blobdiff - src/node.h
Document that meshlink_join() and meshlink_get_external_address() are blocking.
[meshlink] / src / node.h
index e9bc0538b847ad7550da763050349111af26ec5f..de33da3b89a3809518b0d5bef1cd4b3b95b552d9 100644 (file)
@@ -23,6 +23,7 @@
 #include "event.h"
 #include "sockaddr.h"
 #include "sptps.h"
+#include "utcp/utcp.h"
 
 typedef struct node_status_t {
        unsigned int unused_active:1;           /* 1 if active (not used for nodes) */
@@ -40,7 +41,10 @@ typedef struct node_status_t {
 
 typedef struct node_t {
        char *name;                             /* name of this node */
+       void *priv;
+
        uint32_t options;                       /* options turned on for this node */
+       dev_class_t devclass;
 
        struct meshlink_handle *mesh;           /* The mesh this node belongs to */
 
@@ -66,24 +70,16 @@ typedef struct node_t {
        struct splay_tree_t *edge_tree;                /* Edges with this node as one of the endpoints */
 
        struct connection_t *connection;        /* Connection associated with this node (if a direct connection exists) */
-
-       uint32_t sent_seqno;                    /* Sequence number last sent to this node */
-       uint32_t received_seqno;                /* Sequence number last received from this node */
-       uint32_t received;                      /* Total valid packets received from this node */
-       uint32_t prev_received_seqno;
-       uint32_t prev_received;
-       unsigned char* late;                    /* Bitfield marking late packets */
+       time_t last_connect_try;
+       time_t last_successfull_connection;
 
        uint16_t mtu;                           /* Maximum size of packets to send to this node */
        uint16_t minmtu;                        /* Probed minimum MTU */
        uint16_t maxmtu;                        /* Probed maximum MTU */
        int mtuprobes;                          /* Number of probes */
        timeout_t mtutimeout;                   /* Probe event */
-       struct timeval probe_time;              /* Time the last probe was sent or received */
-       int probe_counter;                      /* Number of probes received since last burst was sent */
-       float rtt;                              /* Last measured round trip time */
-       float bandwidth;                        /* Last measured bandwidth */
-       float packetloss;                       /* Last measured packet loss rate */
+
+       struct utcp *utcp;
 
        uint64_t in_packets;
        uint64_t in_bytes;