diff --git a/common/dijkstra.c b/common/dijkstra.c index 66818e0c2..a0fbef341 100644 --- a/common/dijkstra.c +++ b/common/dijkstra.c @@ -143,7 +143,8 @@ dijkstra_(const tal_t *ctx, void *arg), u64 (*path_score)(u32 distance, struct amount_msat cost, - struct amount_msat risk), + struct amount_msat risk, + const struct gossmap_chan *c), void *arg) { struct dijkstra *dij; @@ -250,7 +251,7 @@ dijkstra_(const tal_t *ctx, risk = risk_price(cost, riskfactor, cur_d->total_delay + c->half[!which_half].delay); - score = path_score(cur_d->distance + 1, cost, risk); + score = path_score(cur_d->distance + 1, cost, risk, c); if (score >= d->score) continue; diff --git a/common/dijkstra.h b/common/dijkstra.h index 2bf545b5f..4a43d99b8 100644 --- a/common/dijkstra.h +++ b/common/dijkstra.h @@ -23,7 +23,8 @@ dijkstra_(const tal_t *ctx, void *arg), u64 (*path_score)(u32 distance, struct amount_msat cost, - struct amount_msat risk), + struct amount_msat risk, + const struct gossmap_chan *c), void *arg); #define dijkstra(ctx, map, start, amount, riskfactor, channel_ok, \ diff --git a/common/route.c b/common/route.c index 152b9fbae..63a881bf7 100644 --- a/common/route.c +++ b/common/route.c @@ -51,7 +51,8 @@ static u32 costs_to_score(struct amount_msat cost, /* Prioritize distance over costs */ u64 route_score_shorter(u32 distance, struct amount_msat cost, - struct amount_msat risk) + struct amount_msat risk, + const struct gossmap_chan *c UNUSED) { return costs_to_score(cost, risk) + ((u64)distance << 32); } @@ -59,7 +60,8 @@ u64 route_score_shorter(u32 distance, /* Prioritize costs over distance */ u64 route_score_cheaper(u32 distance, struct amount_msat cost, - struct amount_msat risk) + struct amount_msat risk, + const struct gossmap_chan *c UNUSED) { return ((u64)costs_to_score(cost, risk) << 32) + distance; } diff --git a/common/route.h b/common/route.h index 1f8a86a5e..5528d5390 100644 --- a/common/route.h +++ b/common/route.h @@ -56,12 +56,14 @@ bool route_can_carry_even_disabled(const struct gossmap *map, /* Shortest path, with lower amount tiebreak */ u64 route_score_shorter(u32 distance, struct amount_msat cost, - struct amount_msat risk); + struct amount_msat risk, + const struct gossmap_chan *c UNUSED); /* Cheapest path, with shorter path tiebreak */ u64 route_score_cheaper(u32 distance, struct amount_msat cost, - struct amount_msat risk); + struct amount_msat risk, + const struct gossmap_chan *c UNUSED); /* Extract route tal_arr from completed dijkstra: NULL if none. */ struct route_hop *route_from_dijkstra(const tal_t *ctx,