From 59a39ad3639c086826d881d5c02acbd07d6bc273 Mon Sep 17 00:00:00 2001
From: yourok <8yourok8@mail.ru>
Date: Sat, 7 Mar 2020 21:32:21 +0300
Subject: [PATCH] fix dht
---
src/server/torr/State.go | 4 ++--
src/server/web/Info.go | 12 ++++++++----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/server/torr/State.go b/src/server/torr/State.go
index 530644d..9b9022d 100644
--- a/src/server/torr/State.go
+++ b/src/server/torr/State.go
@@ -1,14 +1,14 @@
package torr
import (
- "github.com/anacrolix/dht"
+ "github.com/anacrolix/torrent"
)
type BTState struct {
LocalPort int
PeerID string
BannedIPs int
- DHTs []*dht.Server
+ DHTs []torrent.DhtServer
Torrents []*Torrent
}
diff --git a/src/server/web/Info.go b/src/server/web/Info.go
index 3db7b1e..1b3d913 100644
--- a/src/server/web/Info.go
+++ b/src/server/web/Info.go
@@ -7,6 +7,8 @@ import (
"server/utils"
+ dht2 "github.com/anacrolix/dht"
+
"github.com/anacrolix/torrent/metainfo"
"github.com/labstack/echo"
"github.com/labstack/gommon/bytes"
@@ -39,10 +41,12 @@ func statePage(c echo.Context) error {
for _, dht := range state.DHTs {
msg += fmt.Sprintf("%s DHT server at %s:
\n", dht.Addr().Network(), dht.Addr().String())
dhtStats := dht.Stats()
- msg += fmt.Sprintf("\t # Nodes: %d (%d good, %d banned)
\n", dhtStats.Nodes, dhtStats.GoodNodes, dhtStats.BadNodes)
- msg += fmt.Sprintf("\t Server ID: %x
\n", dht.ID())
- msg += fmt.Sprintf("\t Announces: %d
\n", dhtStats.SuccessfulOutboundAnnouncePeerQueries)
- msg += fmt.Sprintf("\t Outstanding transactions: %d
\n", dhtStats.OutstandingTransactions)
+ if ds, ok := dhtStats.(dht2.ServerStats); ok {
+ msg += fmt.Sprintf("\t # Nodes: %d (%d good, %d banned)
\n", ds.Nodes, ds.GoodNodes, ds.BadNodes)
+ msg += fmt.Sprintf("\t Server ID: %x
\n", dht.ID())
+ msg += fmt.Sprintf("\t Announces: %d
\n", ds.SuccessfulOutboundAnnouncePeerQueries)
+ msg += fmt.Sprintf("\t Outstanding transactions: %d
\n", ds.OutstandingTransactions)
+ }
}
sort.Slice(state.Torrents, func(i, j int) bool {