1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.testsuite.transport.socket;
17
18 import io.netty.bootstrap.Bootstrap;
19 import io.netty.buffer.ByteBufAllocator;
20 import io.netty.channel.ChannelOption;
21 import io.netty.channel.socket.SocketProtocolFamily;
22 import io.netty.testsuite.transport.AbstractComboTestsuiteTest;
23 import io.netty.testsuite.transport.TestsuitePermutation;
24 import io.netty.util.NetUtil;
25
26 import java.net.Inet4Address;
27 import java.net.Inet6Address;
28 import java.net.InetAddress;
29 import java.net.InetSocketAddress;
30 import java.net.SocketAddress;
31 import java.util.List;
32
33 public abstract class AbstractDatagramTest extends AbstractComboTestsuiteTest<Bootstrap, Bootstrap> {
34 @Override
35 protected List<TestsuitePermutation.BootstrapComboFactory<Bootstrap, Bootstrap>> newFactories() {
36 return SocketTestPermutation.INSTANCE.datagram(socketInternetProtocalFamily());
37 }
38
39 @Override
40 protected void configure(Bootstrap bootstrap, Bootstrap bootstrap2, ByteBufAllocator allocator) {
41 bootstrap.option(ChannelOption.ALLOCATOR, allocator);
42 bootstrap2.option(ChannelOption.ALLOCATOR, allocator);
43 }
44
45 protected SocketAddress newSocketAddress() {
46 switch (socketInternetProtocalFamily()) {
47 case INET:
48 return new InetSocketAddress(NetUtil.LOCALHOST4, 0);
49 case INET6:
50 return new InetSocketAddress(NetUtil.LOCALHOST6, 0);
51 default:
52 throw new AssertionError();
53 }
54 }
55
56 protected boolean isSupported(SocketProtocolFamily family, InetAddress address) {
57 switch (family) {
58 case INET:
59 return address instanceof Inet4Address;
60 case INET6:
61 return address instanceof Inet6Address;
62 default:
63 return false;
64 }
65 }
66
67 protected SocketProtocolFamily socketProtocolFamily() {
68 return SocketProtocolFamily.INET;
69 }
70
71 protected SocketProtocolFamily groupInternetProtocalFamily() {
72 return socketProtocolFamily();
73 }
74
75 protected SocketProtocolFamily socketInternetProtocalFamily() {
76 return socketProtocolFamily();
77 }
78 }