diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-05-07 05:49:52 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-05-07 05:49:52 +0800 |
commit | a0cb1945aeac215b1909ff0063b66171ebe73c70 (patch) | |
tree | fc07f2354402ef786a4196c3a4d29be7d703806c /p2p/peer.go | |
parent | b719801db0bc80b49f05b249e2d4cf322c09eb24 (diff) | |
parent | 3e2a928caa74e523f43e14eec9918033ac1cbe0a (diff) | |
download | go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar.gz go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar.bz2 go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar.lz go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar.xz go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.tar.zst go-tangerine-a0cb1945aeac215b1909ff0063b66171ebe73c70.zip |
Merge pull request #866 from fjl/p2p-last-minute
Last minute p2p fixes
Diffstat (limited to 'p2p/peer.go')
-rw-r--r-- | p2p/peer.go | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/p2p/peer.go b/p2p/peer.go index 94fa03f8d..cdf9ba965 100644 --- a/p2p/peer.go +++ b/p2p/peer.go @@ -10,6 +10,7 @@ import ( "time" "github.com/ethereum/go-ethereum/logger" + "github.com/ethereum/go-ethereum/logger/glog" "github.com/ethereum/go-ethereum/p2p/discover" "github.com/ethereum/go-ethereum/rlp" ) @@ -34,10 +35,6 @@ const ( // Peer represents a connected remote node. type Peer struct { - // Peers have all the log methods. - // Use them to display messages related to the peer. - *logger.Logger - conn net.Conn rw *conn running map[string]*protoRW @@ -99,10 +96,8 @@ func (p *Peer) String() string { } func newPeer(fd net.Conn, conn *conn, protocols []Protocol) *Peer { - logtag := fmt.Sprintf("Peer %.8x %v", conn.ID[:], fd.RemoteAddr()) protomap := matchProtocols(protocols, conn.Caps, conn) p := &Peer{ - Logger: logger.NewLogger(logtag), conn: fd, rw: conn, running: protomap, @@ -130,7 +125,7 @@ func (p *Peer) run() DiscReason { } else { // Note: We rely on protocols to abort if there is a write // error. It might be more robust to handle them here as well. - p.DebugDetailf("Read error: %v\n", err) + glog.V(logger.Detail).Infof("%v: Read error: %v\n", p, err) reason = DiscNetworkError } case err := <-p.protoErr: @@ -141,7 +136,7 @@ func (p *Peer) run() DiscReason { close(p.closed) p.politeDisconnect(reason) p.wg.Wait() - p.Debugf("Disconnected: %v\n", reason) + glog.V(logger.Debug).Infof("%v: Disconnected: %v\n", p, reason) return reason } @@ -195,7 +190,7 @@ func (p *Peer) handle(msg Msg) error { // This is the last message. We don't need to discard or // check errors because, the connection will be closed after it. rlp.Decode(msg.Payload, &reason) - p.Debugf("Disconnect requested: %v\n", reason[0]) + glog.V(logger.Debug).Infof("%v: Disconnect Requested: %v\n", p, reason[0]) return DiscRequested case msg.Code < baseProtocolLength: // ignore other base protocol messages @@ -239,14 +234,14 @@ func (p *Peer) startProtocols() { for _, proto := range p.running { proto := proto proto.closed = p.closed - p.DebugDetailf("Starting protocol %s/%d\n", proto.Name, proto.Version) + glog.V(logger.Detail).Infof("%v: Starting protocol %s/%d\n", p, proto.Name, proto.Version) go func() { err := proto.Run(p, proto) if err == nil { - p.DebugDetailf("Protocol %s/%d returned\n", proto.Name, proto.Version) + glog.V(logger.Detail).Infof("%v: Protocol %s/%d returned\n", p, proto.Name, proto.Version) err = errors.New("protocol returned") - } else { - p.DebugDetailf("Protocol %s/%d error: %v\n", proto.Name, proto.Version, err) + } else if err != io.EOF { + glog.V(logger.Detail).Infof("%v: Protocol %s/%d error: \n", p, proto.Name, proto.Version, err) } p.protoErr <- err p.wg.Done() |