- char *name; /* name of this connection */
- int protocol_version; /* used protocol */
- long int options; /* options turned on for this connection */
+ // Public member variables
+ char *name; /* name of this node */
+ void *priv;
+
+ // Private member variables
+ node_status_t status;
+ uint16_t minmtu; /* Probed minimum MTU */
+ dev_class_t devclass;
+
+ // Used for packet I/O
+ sptps_t sptps;
+ int sock; /* Socket to use for outgoing UDP packets */
+ sockaddr_t address; /* his real (internet) ip to send UDP packets to */
+
+ struct utcp *utcp;
+
+ // Traffic counters
+ uint64_t in_packets;
+ uint64_t in_bytes;
+ uint64_t out_packets;
+ uint64_t out_bytes;
+
+ // MTU probes
+ timeout_t mtutimeout; /* Probe event */
+ int mtuprobes; /* Number of probes */
+ uint16_t mtu; /* Maximum size of packets to send to this node */
+ uint16_t maxmtu; /* Probed maximum MTU */
+
+ // Used for meta-connection I/O, timeouts
+ struct meshlink_handle *mesh; /* The mesh this node belongs to */
+ struct submesh_t *submesh; /* Nodes Sub-Mesh Handle*/
+
+ time_t last_state_change;
+ time_t last_req_key;