added /_ctl/server-peers

This commit is contained in:
2025-03-19 00:24:42 +09:00
parent 9865914436
commit 8cde9f08d4
3 changed files with 76 additions and 6 deletions

View File

@ -1,5 +1,6 @@
package hodu
import "container/list"
import "context"
import "errors"
import "io"
@ -10,10 +11,12 @@ import "sync/atomic"
import "time"
type ServerPeerConn struct {
route *ServerRoute
conn_id PeerId
conn *net.TCPConn
Created time.Time
route *ServerRoute
conn_id PeerId
conn *net.TCPConn
Created time.Time
node_in_server *list.Element
stop_chan chan bool
stop_req atomic.Bool
@ -146,6 +149,11 @@ done_without_stop:
spc.ReqStop()
spc.route.RemoveServerPeerConn(spc)
spc.route.Cts.S.pts_mtx.Lock()
spc.route.Cts.S.pts_list.Remove(spc.node_in_server)
spc.node_in_server = nil
spc.route.Cts.S.pts_mtx.Unlock()
spc.route.Cts.S.bulletin.Enqueue(
&ServerEvent{
Kind: SERVER_EVENT_PEER_DELETED,