adapt xeth pkg to new backend. FIXME JSPeer peer info
This commit is contained in:
		
							parent
							
								
									76070b4674
								
							
						
					
					
						commit
						148de1c875
					
				| @ -3,7 +3,6 @@ package xeth | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"sync/atomic" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/core" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| @ -63,12 +62,8 @@ func (self *JSXEth) PeerCount() int { | ||||
| 
 | ||||
| func (self *JSXEth) Peers() []JSPeer { | ||||
| 	var peers []JSPeer | ||||
| 	for peer := self.obj.Peers().Front(); peer != nil; peer = peer.Next() { | ||||
| 		p := peer.Value.(core.Peer) | ||||
| 		// we only want connected peers
 | ||||
| 		if atomic.LoadInt32(p.Connected()) != 0 { | ||||
| 			peers = append(peers, *NewJSPeer(p)) | ||||
| 		} | ||||
| 	for _, peer := range self.obj.Peers() { | ||||
| 		peers = append(peers, *NewJSPeer(peer)) | ||||
| 	} | ||||
| 
 | ||||
| 	return peers | ||||
|  | ||||
| @ -1,14 +1,13 @@ | ||||
| package xeth | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/core" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| 	"github.com/ethereum/go-ethereum/ethutil" | ||||
| 	"github.com/ethereum/go-ethereum/p2p" | ||||
| 	"github.com/ethereum/go-ethereum/state" | ||||
| ) | ||||
| 
 | ||||
| @ -155,38 +154,36 @@ func NewPReciept(contractCreation bool, creationAddress, hash, address []byte) * | ||||
| // Peer interface exposed to QML
 | ||||
| 
 | ||||
| type JSPeer struct { | ||||
| 	ref          *core.Peer | ||||
| 	Inbound      bool   `json:"isInbound"` | ||||
| 	LastSend     int64  `json:"lastSend"` | ||||
| 	LastPong     int64  `json:"lastPong"` | ||||
| 	Ip           string `json:"ip"` | ||||
| 	Port         int    `json:"port"` | ||||
| 	Version      string `json:"version"` | ||||
| 	LastResponse string `json:"lastResponse"` | ||||
| 	Latency      string `json:"latency"` | ||||
| 	Caps         string `json:"caps"` | ||||
| 	ref *p2p.Peer | ||||
| 	// Inbound      bool   `json:"isInbound"`
 | ||||
| 	// LastSend     int64  `json:"lastSend"`
 | ||||
| 	// LastPong     int64  `json:"lastPong"`
 | ||||
| 	// Ip           string `json:"ip"`
 | ||||
| 	// Port         int    `json:"port"`
 | ||||
| 	// Version      string `json:"version"`
 | ||||
| 	// LastResponse string `json:"lastResponse"`
 | ||||
| 	// Latency      string `json:"latency"`
 | ||||
| 	// Caps         string `json:"caps"`
 | ||||
| } | ||||
| 
 | ||||
| func NewJSPeer(peer core.Peer) *JSPeer { | ||||
| 	if peer == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| func NewJSPeer(peer *p2p.Peer) *JSPeer { | ||||
| 
 | ||||
| 	var ip []string | ||||
| 	for _, i := range peer.Host() { | ||||
| 		ip = append(ip, strconv.Itoa(int(i))) | ||||
| 	} | ||||
| 	ipAddress := strings.Join(ip, ".") | ||||
| 	// var ip []string
 | ||||
| 	// for _, i := range peer.Host() {
 | ||||
| 	//   ip = append(ip, strconv.Itoa(int(i)))
 | ||||
| 	// }
 | ||||
| 	// ipAddress := strings.Join(ip, ".")
 | ||||
| 
 | ||||
| 	var caps []string | ||||
| 	capsIt := peer.Caps().NewIterator() | ||||
| 	for capsIt.Next() { | ||||
| 		cap := capsIt.Value().Get(0).Str() | ||||
| 		ver := capsIt.Value().Get(1).Uint() | ||||
| 		caps = append(caps, fmt.Sprintf("%s/%d", cap, ver)) | ||||
| 	} | ||||
| 	// var caps []string
 | ||||
| 	// capsIt := peer.Caps().NewIterator()
 | ||||
| 	// for capsIt.Next() {
 | ||||
| 	//   cap := capsIt.Value().Get(0).Str()
 | ||||
| 	//   ver := capsIt.Value().Get(1).Uint()
 | ||||
| 	//   caps = append(caps, fmt.Sprintf("%s/%d", cap, ver))
 | ||||
| 	// }
 | ||||
| 
 | ||||
| 	return &JSPeer{ref: &peer, Inbound: peer.Inbound(), LastSend: peer.LastSend().Unix(), LastPong: peer.LastPong(), Version: peer.Version(), Ip: ipAddress, Port: int(peer.Port()), Latency: peer.PingTime(), Caps: "[" + strings.Join(caps, ", ") + "]"} | ||||
| 	return &JSPeer{ref: peer} | ||||
| 	// return &JSPeer{ref: &peer, Inbound: peer.Inbound(), LastSend: peer.LastSend().Unix(), LastPong: peer.LastPong(), Version: peer.Version(), Ip: ipAddress, Port: int(peer.Port()), Latency: peer.PingTime(), Caps: "[" + strings.Join(caps, ", ") + "]"}
 | ||||
| } | ||||
| 
 | ||||
| type JSReceipt struct { | ||||
|  | ||||
| @ -1,8 +1,7 @@ | ||||
| package xeth | ||||
| 
 | ||||
| import ( | ||||
| 	"container/list" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/p2p" | ||||
| 	"github.com/ethereum/go-ethereum/state" | ||||
| ) | ||||
| 
 | ||||
| @ -55,7 +54,7 @@ func (self *World) IsListening() bool { | ||||
| 	return self.pipe.obj.IsListening() | ||||
| } | ||||
| 
 | ||||
| func (self *World) Peers() *list.List { | ||||
| func (self *World) Peers() []*p2p.Peer { | ||||
| 	return self.pipe.obj.Peers() | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user