Skip to content

Commit

Permalink
revert utp async
Browse files Browse the repository at this point in the history
Signed-off-by: Chen Kai <[email protected]>
  • Loading branch information
GrapeBaBa committed May 27, 2024
1 parent 06f2d23 commit 3ab51ce
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions p2p/discover/portal_protocol.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const (

portalFindnodesResultLimit = 32

defaultUTPConnectTimeout = 60 * time.Second
defaultUTPConnectTimeout = 15 * time.Second

defaultUTPWriteTimeout = 60 * time.Second

Expand Down Expand Up @@ -235,6 +235,7 @@ func (p *PortalProtocol) Start() error {
if err != nil {
return err
}

p.DiscV5.RegisterTalkHandler(p.protocolId, p.handleTalkRequest)
p.DiscV5.RegisterTalkHandler(string(portalwire.UTPNetwork), p.handleUtpTalkRequest)

Expand Down Expand Up @@ -295,19 +296,13 @@ func (p *PortalProtocol) setupUDPListening() error {
var err error
p.packetRouter = utp.NewPacketRouter(
func(buf []byte, addr *net.UDPAddr) (int, error) {
p.Log.Info("will send to target data", "network", string(portalwire.UTPNetwork), "ip", addr.IP.To4().String(), "port", addr.Port, "bufLength", len(buf))
p.Log.Info("will send to target data", "ip", addr.IP.To4().String(), "port", addr.Port, "bufLength", len(buf))

p.cachedIdsLock.Lock()
defer p.cachedIdsLock.Unlock()
if id, ok := p.cachedIds[addr.String()]; ok {
sendToId := id
go func(targetId enode.ID, addr *net.UDPAddr, utpNetwork string, buffer []byte) {
_, err := p.DiscV5.TalkRequestToID(targetId, addr, utpNetwork, buffer)
if err != nil {
p.Log.Error("send utp talk request failed", "err", err)
}
}(sendToId, addr, string(portalwire.UTPNetwork), buf)
return len(buf), nil
_, err := p.DiscV5.TalkRequestToID(id, addr, string(portalwire.UTPNetwork), buf)
return len(buf), err
} else {
p.Log.Warn("not found target node info", "ip", addr.IP.To4().String(), "port", addr.Port, "bufLength", len(buf))
return 0, fmt.Errorf("not found target node id")
Expand Down Expand Up @@ -800,6 +795,7 @@ func (p *PortalProtocol) handleUtpTalkRequest(id enode.ID, addr *net.UDPAddr, ms
if n := p.DiscV5.getNode(id); n != nil {
p.table.addSeenNode(wrapNode(n))
}

p.putCacheId(id, addr)
p.Log.Trace("receive utp data", "addr", addr, "msg-length", len(msg))
p.packetRouter.ReceiveMessage(msg, addr)
Expand Down

0 comments on commit 3ab51ce

Please sign in to comment.