Skip to content

Commit 24bfb23

Browse files
committed
common/dijkstra: hand channel direction to path_score callback.
Signed-off-by: Rusty Russell <[email protected]>
1 parent eb103c1 commit 24bfb23

File tree

5 files changed

+8
-1
lines changed

5 files changed

+8
-1
lines changed

common/dijkstra.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ dijkstra_(const tal_t *ctx,
139139
u64 (*path_score)(u32 distance,
140140
struct amount_msat cost,
141141
struct amount_msat risk,
142+
int dir,
142143
const struct gossmap_chan *c),
143144
void *arg)
144145
{
@@ -246,7 +247,7 @@ dijkstra_(const tal_t *ctx,
246247
risk = risk_price(cost, riskfactor,
247248
cur_d->total_delay
248249
+ c->half[!which_half].delay);
249-
score = path_score(cur_d->distance + 1, cost, risk, c);
250+
score = path_score(cur_d->distance + 1, cost, risk, !which_half, c);
250251
if (score >= d->score)
251252
continue;
252253

common/dijkstra.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ dijkstra_(const tal_t *ctx,
2222
u64 (*path_score)(u32 distance,
2323
struct amount_msat cost,
2424
struct amount_msat risk,
25+
int dir,
2526
const struct gossmap_chan *c),
2627
void *arg);
2728

common/route.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ static u32 costs_to_score(struct amount_msat cost,
4444
u64 route_score_shorter(u32 distance,
4545
struct amount_msat cost,
4646
struct amount_msat risk,
47+
int dir UNUSED,
4748
const struct gossmap_chan *c UNUSED)
4849
{
4950
return costs_to_score(cost, risk) + ((u64)distance << 32);
@@ -53,6 +54,7 @@ u64 route_score_shorter(u32 distance,
5354
u64 route_score_cheaper(u32 distance,
5455
struct amount_msat cost,
5556
struct amount_msat risk,
57+
int dir UNUSED,
5658
const struct gossmap_chan *c UNUSED)
5759
{
5860
return ((u64)costs_to_score(cost, risk) << 32) + distance;

common/route.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,14 @@ bool route_can_carry_even_disabled(const struct gossmap *map,
5757
u64 route_score_shorter(u32 distance,
5858
struct amount_msat cost,
5959
struct amount_msat risk,
60+
int dir UNUSED,
6061
const struct gossmap_chan *c UNUSED);
6162

6263
/* Cheapest path, with shorter path tiebreak */
6364
u64 route_score_cheaper(u32 distance,
6465
struct amount_msat cost,
6566
struct amount_msat risk,
67+
int dir UNUSED,
6668
const struct gossmap_chan *c UNUSED);
6769

6870
/* Extract route tal_arr from completed dijkstra: NULL if none. */

plugins/topology.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ struct exclude_entry {
4848
static u64 route_score_fuzz(u32 distance,
4949
struct amount_msat cost,
5050
struct amount_msat risk,
51+
int dir UNUSED,
5152
const struct gossmap_chan *c)
5253
{
5354
u64 costs = cost.millisatoshis + risk.millisatoshis; /* Raw: score */

0 commit comments

Comments
 (0)