github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/p2p/net/mock/mock_printer.go (about)

     1  package mocknet
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  
     7  	inet "github.com/ipfs/go-ipfs/p2p/net"
     8  	peer "github.com/ipfs/go-ipfs/p2p/peer"
     9  )
    10  
    11  // separate object so our interfaces are separate :)
    12  type printer struct {
    13  	w io.Writer
    14  }
    15  
    16  func (p *printer) MocknetLinks(mn Mocknet) {
    17  	links := mn.Links()
    18  
    19  	fmt.Fprintf(p.w, "Mocknet link map:\n")
    20  	for p1, lm := range links {
    21  		fmt.Fprintf(p.w, "\t%s linked to:\n", peer.ID(p1))
    22  		for p2, l := range lm {
    23  			fmt.Fprintf(p.w, "\t\t%s (%d links)\n", peer.ID(p2), len(l))
    24  		}
    25  	}
    26  	fmt.Fprintf(p.w, "\n")
    27  }
    28  
    29  func (p *printer) NetworkConns(ni inet.Network) {
    30  
    31  	fmt.Fprintf(p.w, "%s connected to:\n", ni.LocalPeer())
    32  	for _, c := range ni.Conns() {
    33  		fmt.Fprintf(p.w, "\t%s (addr: %s)\n", c.RemotePeer(), c.RemoteMultiaddr())
    34  	}
    35  	fmt.Fprintf(p.w, "\n")
    36  }