From 60183999af22294f351e6452c3dd47d326c204c3 Mon Sep 17 00:00:00 2001 From: Josh Deprez Date: Fri, 26 Apr 2024 13:22:48 +1000 Subject: [PATCH] more route table data --- main.go | 10 +++++++++- router/peer.go | 2 +- router/rtmp.go | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 4643ba2..787e8bd 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ package main import ( "bufio" + "cmp" "context" "errors" "flag" @@ -31,6 +32,7 @@ import ( "os/signal" "regexp" "runtime/debug" + "slices" "strings" "sync" "time" @@ -52,6 +54,7 @@ const routingTableTemplate = ` Extended? Distance Last seen + Port {{range $route := . }} @@ -60,6 +63,7 @@ const routingTableTemplate = ` {{if $route.Extended}}✅{{else}}❌{{end}} {{$route.Distance}} {{$route.LastSeenAgo}} + {{if $route.Peer}}{{$route.Peer.RemoteAddr}}{{else}}-{{end}} {{end}} @@ -165,7 +169,11 @@ func main() { // -------------------------------- Tables -------------------------------- routes := router.NewRoutingTable() _, done := status.AddItem(ctx, "Routing table", routingTableTemplate, func(context.Context) (any, error) { - return routes.Dump(), nil + rs := routes.Dump() + slices.SortFunc(rs, func(ra, rb router.Route) int { + return cmp.Compare(ra.NetStart, rb.NetStart) + }) + return rs, nil }) defer done() diff --git a/router/peer.go b/router/peer.go index cc7a1c7..0016ade 100644 --- a/router/peer.go +++ b/router/peer.go @@ -387,7 +387,7 @@ func (p *Peer) Handle(ctx context.Context) error { ddp.Network(nt.RangeStart), ddp.Network(nt.RangeEnd), p, - nt.Distance, + nt.Distance+1, ) } diff --git a/router/rtmp.go b/router/rtmp.go index 18891bf..15fb52c 100644 --- a/router/rtmp.go +++ b/router/rtmp.go @@ -226,7 +226,7 @@ func (m *RTMPMachine) dataPackets(myAddr ddp.Addr) []*rtmp.DataPacket { Extended: rt.Extended, RangeStart: rt.NetStart, RangeEnd: rt.NetEnd, - Distance: rt.Distance + 1, + Distance: rt.Distance, }) } // "The first tuple in RTMP Data packets sent on extended