Fixed a bug where DefaultChannelGroupFuture is never completed when the specified future map is empty
This commit is contained in:
parent
c3e72364ce
commit
6602f13329
@ -102,9 +102,15 @@ public class DefaultChannelGroupFuture implements ChannelGroupFuture {
|
||||
}
|
||||
|
||||
this.futures = Collections.unmodifiableMap(futureMap);
|
||||
|
||||
for (ChannelFuture f: this.futures.values()) {
|
||||
f.addListener(childListener);
|
||||
}
|
||||
|
||||
// Done on arrival?
|
||||
if (this.futures.isEmpty()) {
|
||||
setDone();
|
||||
}
|
||||
}
|
||||
|
||||
DefaultChannelGroupFuture(ChannelGroup group, Map<UUID, ChannelFuture> futures) {
|
||||
@ -113,6 +119,11 @@ public class DefaultChannelGroupFuture implements ChannelGroupFuture {
|
||||
for (ChannelFuture f: this.futures.values()) {
|
||||
f.addListener(childListener);
|
||||
}
|
||||
|
||||
// Done on arrival?
|
||||
if (this.futures.isEmpty()) {
|
||||
setDone();
|
||||
}
|
||||
}
|
||||
|
||||
public ChannelGroup getGroup() {
|
||||
@ -140,11 +151,11 @@ public class DefaultChannelGroupFuture implements ChannelGroupFuture {
|
||||
}
|
||||
|
||||
public synchronized boolean isPartialSuccess() {
|
||||
return successCount != 0;
|
||||
return !futures.isEmpty() && successCount != 0;
|
||||
}
|
||||
|
||||
public synchronized boolean isPartialFailure() {
|
||||
return failureCount != 0;
|
||||
return !futures.isEmpty() && failureCount != 0;
|
||||
}
|
||||
|
||||
public synchronized boolean isCompleteFailure() {
|
||||
|
Loading…
Reference in New Issue
Block a user