diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2012-10-06 04:13:01 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2012-10-06 04:13:01 +0200 |
commit | 7601e582848ef68c565f3d88ab1265e4c86d5ac0 (patch) | |
tree | 223f8a88d84a3e443db5841d04ca75effbefe2ed /ffd/send.c | |
parent | cebdfe45e965dae68cd67e9f43f6fc1d8b271765 (diff) | |
download | ffd-7601e582848ef68c565f3d88ab1265e4c86d5ac0.tar ffd-7601e582848ef68c565f3d88ab1265e4c86d5ac0.zip |
Fix feasibility distance maintenance
Diffstat (limited to 'ffd/send.c')
-rw-r--r-- | ffd/send.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -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; } |