aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'p2p/server.go')
-rw-r--r--p2p/server.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/p2p/server.go b/p2p/server.go
index 6482c0401..38a881f7b 100644
--- a/p2p/server.go
+++ b/p2p/server.go
@@ -864,7 +864,11 @@ func (srv *Server) listenLoop() {
}
}
- fd = newMeteredConn(fd, true)
+ var ip net.IP
+ if tcp, ok := fd.RemoteAddr().(*net.TCPAddr); ok {
+ ip = tcp.IP
+ }
+ fd = newMeteredConn(fd, true, ip)
srv.log.Trace("Accepted connection", "addr", fd.RemoteAddr())
go func() {
srv.SetupConn(fd, inboundConn, nil)
@@ -917,6 +921,9 @@ func (srv *Server) setupConn(c *conn, flags connFlag, dialDest *enode.Node) erro
} else {
c.node = nodeFromConn(remotePubkey, c.fd)
}
+ if conn, ok := c.fd.(*meteredConn); ok {
+ conn.handshakeDone(c.node.ID())
+ }
clog := srv.log.New("id", c.node.ID(), "addr", c.fd.RemoteAddr(), "conn", c.flags)
err = srv.checkpoint(c, srv.posthandshake)
if err != nil {