From da66eddfccf86eb5dc036e023ddc2e0278105706 Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 31 Jan 2014 11:57:56 +0100 Subject: Get peers returns now both in and outbound peers --- ethereum.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'ethereum.go') diff --git a/ethereum.go b/ethereum.go index e1fb5945c..b9fc94d50 100644 --- a/ethereum.go +++ b/ethereum.go @@ -144,6 +144,18 @@ func (s *Ethereum) InboundPeers() []*Peer { return inboundPeers[:length] } +func (s *Ethereum) InOutPeers() []*Peer { + // Create a new peer slice with at least the length of the total peers + inboundPeers := make([]*Peer, s.peers.Len()) + length := 0 + eachPeer(s.peers, func(p *Peer, e *list.Element) { + inboundPeers[length] = p + length++ + }) + + return inboundPeers[:length] +} + func (s *Ethereum) Broadcast(msgType ethwire.MsgType, data interface{}) { msg := ethwire.NewMessage(msgType, data) eachPeer(s.peers, func(p *Peer, e *list.Element) { @@ -151,6 +163,10 @@ func (s *Ethereum) Broadcast(msgType ethwire.MsgType, data interface{}) { }) } +func (s *Ethereum) Peers() *list.List { + return s.peers +} + func (s *Ethereum) ReapDeadPeers() { for { eachPeer(s.peers, func(p *Peer, e *list.Element) { -- cgit v1.2.3