updated to return connections, routes, peers in ascending order by id over the control endpoint

This commit is contained in:
2025-03-07 13:41:44 +09:00
parent b6fb296608
commit e56c45b3bf
4 changed files with 136 additions and 34 deletions

View File

@ -7,6 +7,7 @@ import "fmt"
import "log"
import "net"
import "net/http"
import "slices"
import "strconv"
import "sync"
import "sync/atomic"
@ -24,10 +25,10 @@ import "github.com/prometheus/client_golang/prometheus/promhttp"
type PacketStreamClient grpc.BidiStreamingClient[Packet, Packet]
type ClientConnMap = map[ConnId]*ClientConn
type ClientRouteMap = map[RouteId]*ClientRoute
type ClientPeerConnMap = map[PeerId]*ClientPeerConn
type ClientPeerCancelFuncMap = map[PeerId]context.CancelFunc
type ClientConnMap map[ConnId]*ClientConn
type ClientRouteMap map[RouteId]*ClientRoute
type ClientPeerConnMap map[PeerId]*ClientPeerConn
type ClientPeerCancelFuncMap map[PeerId]context.CancelFunc
// --------------------------------------------------------------------
type ClientRouteConfig struct {
@ -1286,6 +1287,44 @@ func (cts *ClientConn) ReportEvent(route_id RouteId, pts_id PeerId, event_type P
// --------------------------------------------------------------------
func (m ClientPeerConnMap) get_sorted_keys() []PeerId {
var ks []PeerId
var peer *ClientPeerConn
ks = make([]PeerId, 0, len(m))
for _, peer = range m {
ks = append(ks, peer.conn_id)
}
slices.Sort(ks)
return ks
}
func (m ClientRouteMap) get_sorted_keys() []RouteId {
var ks []RouteId
var route *ClientRoute
ks = make([]RouteId, 0, len(m))
for _, route = range m {
ks = append(ks, route.Id)
}
slices.Sort(ks)
return ks
}
func (m ClientConnMap) get_sorted_keys() []ConnId {
var ks []ConnId
var cts *ClientConn
ks = make([]ConnId, 0, len(m))
for _, cts = range m {
ks = append(ks, cts.Id)
}
slices.Sort(ks)
return ks
}
// --------------------------------------------------------------------
type client_ctl_log_writer struct {
cli *Client
}