From 8ed620b64f3961d6ea8f2c32bae3c6de77e15e40 Mon Sep 17 00:00:00 2001
From: Evgenii Stratonikov <e.stratonikov@yadro.com>
Date: Sat, 5 Apr 2025 08:40:41 +0300
Subject: [PATCH] [#353] pool: Remove deprecated IterateNetworkEndpoints()

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
---
 pool/tree/pool.go | 24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/pool/tree/pool.go b/pool/tree/pool.go
index dda74c1..dd5d826 100644
--- a/pool/tree/pool.go
+++ b/pool/tree/pool.go
@@ -1081,20 +1081,15 @@ func (p *Pool) deleteClientFromMap(hash uint64) {
 }
 
 func (p *Pool) getNewTreeClient(ctx context.Context, node netmap.NodeInfo) (*treeClient, error) {
-	var (
-		treeCl *treeClient
-		err    error
-	)
-
-	node.IterateNetworkEndpoints(func(endpoint string) bool {
+	for endpoint := range node.NetworkEndpoints() {
 		var addr network.Address
-		if err = addr.FromString(endpoint); err != nil {
+		if err := addr.FromString(endpoint); err != nil {
 			p.log(zap.WarnLevel, "can't parse endpoint", zap.String("endpoint", endpoint), zap.Error(err))
-			return false
+			continue
 		}
 
 		newTreeCl := newTreeClient(addr.URIAddr(), p.dialOptions, p.nodeDialTimeout, p.streamTimeout)
-		if err = newTreeCl.dial(ctx); err != nil {
+		if err := newTreeCl.dial(ctx); err != nil {
 			p.log(zap.WarnLevel, "failed to dial tree client", zap.Error(err))
 
 			// We have to close connection here after failed `dial()`.
@@ -1106,18 +1101,13 @@ func (p *Pool) getNewTreeClient(ctx context.Context, node netmap.NodeInfo) (*tre
 				p.log(zap.WarnLevel, "failed to close recently dialed tree client", zap.Error(err))
 			}
 
-			return false
+			continue
 		}
 
-		treeCl = newTreeCl
-		return true
-	})
-
-	if treeCl == nil {
-		return nil, fmt.Errorf("tree client wasn't initialized")
+		return newTreeCl, nil
 	}
 
-	return treeCl, nil
+	return nil, fmt.Errorf("tree client wasn't initialized")
 }
 
 func shouldTryAgain(err error) bool {