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.InternetProtocolFamily;
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.InetSocketAddress;
27 import java.net.SocketAddress;
28 import java.util.List;
29
30 public abstract class AbstractDatagramTest extends AbstractComboTestsuiteTest<Bootstrap, Bootstrap> {
31 @Override
32 protected List<TestsuitePermutation.BootstrapComboFactory<Bootstrap, Bootstrap>> newFactories() {
33 return SocketTestPermutation.INSTANCE.datagram(socketInternetProtocalFamily());
34 }
35
36 @Override
37 protected void configure(Bootstrap bootstrap, Bootstrap bootstrap2, ByteBufAllocator allocator) {
38 bootstrap.option(ChannelOption.ALLOCATOR, allocator);
39 bootstrap2.option(ChannelOption.ALLOCATOR, allocator);
40 }
41
42 protected SocketAddress newSocketAddress() {
43 switch (socketInternetProtocalFamily()) {
44 case IPv4:
45 return new InetSocketAddress(NetUtil.LOCALHOST4, 0);
46 case IPv6:
47 return new InetSocketAddress(NetUtil.LOCALHOST6, 0);
48 default:
49 throw new AssertionError();
50 }
51 }
52
53 protected InternetProtocolFamily internetProtocolFamily() {
54 return InternetProtocolFamily.IPv4;
55 }
56
57 protected InternetProtocolFamily groupInternetProtocalFamily() {
58 return internetProtocolFamily();
59 }
60
61 protected InternetProtocolFamily socketInternetProtocalFamily() {
62 return internetProtocolFamily();
63 }
64 }