Because we save the last array of nodes computed and sorted at each invocation of the querying steps (to avoid costly calls to the qrp_node_can_route() routine if possible), we store both the selected node ID (nodes can disappear between invocations but the ID is unique) and cache the result of qrp_node_can_route() calls into `can_route'.
Data Fields | |
gnutella_node_t * | node |
Selected node. | |
guint32 | nid |
Selected node ID. | |
query_hashvec_t * | qhv |
Query hash vector for the query. | |
gint | can_route |
-1 = unknown, otherwise TRUE / FALSE | |
gint | queue_pending |
-1 = unknown, otherwise cached queue size |
|
-1 = unknown, otherwise TRUE / FALSE
|
|
Selected node ID.
|
|
Selected node.
|
|
Query hash vector for the query.
|
|
-1 = unknown, otherwise cached queue size
|