mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00
28 lines
1.0 KiB
Go
28 lines
1.0 KiB
Go
package rpc
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/rpc/model"
|
|
)
|
|
|
|
// handleGetConnectedPeerInfo implements the getConnectedPeerInfo command.
|
|
func handleGetConnectedPeerInfo(s *Server, cmd interface{}, closeChan <-chan struct{}) (interface{}, error) {
|
|
peers := s.protocolManager.Peers()
|
|
infos := make([]*model.GetConnectedPeerInfoResult, 0, len(peers))
|
|
for _, peer := range peers {
|
|
info := &model.GetConnectedPeerInfoResult{
|
|
ID: peer.ID().String(),
|
|
Address: peer.Address(),
|
|
LastPingDuration: peer.LastPingDuration().Milliseconds(),
|
|
SelectedTipHash: peer.SelectedTipHash().String(),
|
|
IsSyncNode: peer == s.protocolManager.IBDPeer(),
|
|
IsOutbound: peer.IsOutbound(),
|
|
TimeOffset: peer.TimeOffset().Milliseconds(),
|
|
UserAgent: peer.UserAgent(),
|
|
AdvertisedProtocolVersion: peer.AdvertisedProtocolVersion(),
|
|
TimeConnected: peer.TimeConnected().Milliseconds(),
|
|
}
|
|
infos = append(infos, info)
|
|
}
|
|
return infos, nil
|
|
}
|