typedef struct node_status_t {
unsigned int unused_active:1; /* 1 if active (not used for nodes) */
unsigned int validkey:1; /* 1 if we currently have a valid key for him */
- unsigned int unused_waitingforkey:1; /* 1 if we already sent out a request */
+ unsigned int waitingforkey:1; /* 1 if we already sent out a request */
unsigned int visited:1; /* 1 if this node has been visited by one of the graph algorithms */
unsigned int reachable:1; /* 1 if this node is reachable in the graph */
unsigned int indirect:1; /* 1 if this node is not directly reachable by us */
- unsigned int unused:26;
+ unsigned int sptps:1; /* 1 if this node supports SPTPS */
+ unsigned int unused:25;
} node_status_t;
typedef struct node_t {
char *hostname; /* the hostname of its real ip */
node_status_t status;
+ time_t last_state_change;
time_t last_req_key;
ecdsa_t ecdsa; /* His public ECDSA key */
extern struct node_t *myself;
extern splay_tree_t *node_tree;
-extern splay_tree_t *node_udp_tree;
extern void init_nodes(void);
extern void exit_nodes(void);