1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty5.channel.group;
17
18 import io.netty5.channel.Channel;
19 import io.netty5.channel.ChannelException;
20 import io.netty5.util.concurrent.Future;
21
22 import java.util.Collection;
23 import java.util.Collections;
24 import java.util.Iterator;
25 import java.util.Map;
26
27 import static java.util.Objects.requireNonNull;
28
29
30
31
32 public class ChannelGroupException extends ChannelException implements Iterable<Map.Entry<Channel, Throwable>> {
33 private static final long serialVersionUID = -4093064295562629453L;
34 private final Collection<Map.Entry<Channel, Throwable>> failed;
35
36 public ChannelGroupException(Collection<Map.Entry<Channel, Throwable>> causes) {
37 requireNonNull(causes, "causes");
38 if (causes.isEmpty()) {
39 throw new IllegalArgumentException("causes must be non empty");
40 }
41 failed = Collections.unmodifiableCollection(causes);
42 }
43
44
45
46
47
48 @Override
49 public Iterator<Map.Entry<Channel, Throwable>> iterator() {
50 return failed.iterator();
51 }
52 }