Fix best route selection (#1903)

* fix route comparison to current selected route + adding tests

* add comment and debug log

* adjust log message

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
This commit is contained in:
pascal-fischer
2024-05-02 11:51:03 +02:00
committed by GitHub
parent 3598418206
commit 35dd991776
2 changed files with 40 additions and 8 deletions

View File

@ -241,7 +241,7 @@ func TestGetBestrouteFromStatuses(t *testing.T) {
connected: true,
relayed: false,
direct: true,
latency: 12 * time.Millisecond,
latency: 15 * time.Millisecond,
},
"route2": {
connected: true,
@ -265,6 +265,37 @@ func TestGetBestrouteFromStatuses(t *testing.T) {
currentRoute: "route1",
expectedRouteID: "route1",
},
{
name: "current route with bad score should be changed to route with better score",
statuses: map[string]routerPeerStatus{
"route1": {
connected: true,
relayed: false,
direct: true,
latency: 200 * time.Millisecond,
},
"route2": {
connected: true,
relayed: false,
direct: true,
latency: 10 * time.Millisecond,
},
},
existingRoutes: map[string]*route.Route{
"route1": {
ID: "route1",
Metric: route.MaxMetric,
Peer: "peer1",
},
"route2": {
ID: "route2",
Metric: route.MaxMetric,
Peer: "peer2",
},
},
currentRoute: "route1",
expectedRouteID: "route2",
},
{
name: "current chosen route doesn't exist anymore",
statuses: map[string]routerPeerStatus{