diff --git a/src/main/java/org/redkale/net/AsyncIOGroup.java b/src/main/java/org/redkale/net/AsyncIOGroup.java index 1e7b8bb88..54cd6451b 100644 --- a/src/main/java/org/redkale/net/AsyncIOGroup.java +++ b/src/main/java/org/redkale/net/AsyncIOGroup.java @@ -315,8 +315,7 @@ public class AsyncIOGroup extends AsyncGroup { } catch (IOException e) { return CompletableFuture.failedFuture(e); } - int seconds = connectTimeoutSeconds > 0 ? connectTimeoutSeconds : 6; - final CompletableFuture future = Utility.orTimeout(new CompletableFuture(), () -> address + " connect timeout", seconds, TimeUnit.SECONDS); + final CompletableFuture future = new CompletableFuture(); conn.connect(address, null, new CompletionHandler() { @Override public void completed(Void result, Void attachment) { @@ -338,7 +337,9 @@ public class AsyncIOGroup extends AsyncGroup { future.completeExceptionally(exc); } }); - return future; + int seconds = connectTimeoutSeconds > 0 ? connectTimeoutSeconds : 6; + final Supplier timeoutMsg = () -> address + " udp-connect timeout"; + return Utility.orTimeout(future, timeoutMsg, seconds, TimeUnit.SECONDS); } }