summaryrefslogtreecommitdiffstats
path: root/ffd/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'ffd/send.c')
-rw-r--r--ffd/send.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/ffd/send.c b/ffd/send.c
index 142d07a..ac5b250 100644
--- a/ffd/send.c
+++ b/ffd/send.c
@@ -164,13 +164,11 @@ static bool add_update(ffd_packet_t *packet, size_t max_len, ffd_node_id_t *node
return false;
}
- ffd_metric_seqno_t metric = ffd_announce_get_metric(announce);
-
update->flags = 0;
update->reserved = 0;
update->interval = htons(FFD_UPDATE_INTERVAL);
- update->seqno = htons(metric.seqno);
- update->metric = htons(metric.metric);
+ update->seqno = htons(announce->metric.seqno);
+ update->metric = htons(announce->metric.metric);
update->type = htons(announce->type);
update->key = htons(announce->key);
@@ -182,7 +180,8 @@ static bool add_update(ffd_packet_t *packet, size_t max_len, ffd_node_id_t *node
}
}
- announce->feasibility_distance = metric;
+ if (ffd_is_metric_better(announce->metric, announce->feasibility_distance))
+ announce->feasibility_distance = announce->metric;
return true;
}