summaryrefslogtreecommitdiffstats
path: root/ffd/send.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2012-10-06 04:13:01 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2012-10-06 04:13:01 +0200
commit7601e582848ef68c565f3d88ab1265e4c86d5ac0 (patch)
tree223f8a88d84a3e443db5841d04ca75effbefe2ed /ffd/send.c
parentcebdfe45e965dae68cd67e9f43f6fc1d8b271765 (diff)
downloadffd-7601e582848ef68c565f3d88ab1265e4c86d5ac0.tar
ffd-7601e582848ef68c565f3d88ab1265e4c86d5ac0.zip
Fix feasibility distance maintenance
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;
}