1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty5.testsuite.transport.socket;
17
18 import io.netty5.bootstrap.Bootstrap;
19 import io.netty5.buffer.api.BufferAllocator;
20 import io.netty5.channel.ChannelOption;
21 import io.netty5.channel.socket.SocketProtocolFamily;
22 import io.netty5.testsuite.transport.AbstractComboTestsuiteTest;
23 import io.netty5.testsuite.transport.TestsuitePermutation;
24 import io.netty5.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(socketProtocolFamily());
34 }
35
36 @Override
37 protected void configure(Bootstrap b1, Bootstrap b2,
38 BufferAllocator bufferAllocator) {
39 b1.option(ChannelOption.BUFFER_ALLOCATOR, bufferAllocator);
40 b2.option(ChannelOption.BUFFER_ALLOCATOR, bufferAllocator);
41 }
42
43 protected SocketAddress newSocketAddress() {
44 SocketProtocolFamily family = socketProtocolFamily();
45 switch (family) {
46 case INET:
47 return new InetSocketAddress(NetUtil.LOCALHOST4, 0);
48 case INET6:
49 return new InetSocketAddress(NetUtil.LOCALHOST6, 0);
50 case UNIX:
51 return SocketTestPermutation.newDomainSocketAddress();
52 default:
53 throw new AssertionError();
54 }
55 }
56
57 protected SocketProtocolFamily protocolFamily() {
58 return SocketProtocolFamily.INET;
59 }
60
61 protected SocketProtocolFamily groupProtocolFamily() {
62 return protocolFamily();
63 }
64
65 protected SocketProtocolFamily socketProtocolFamily() {
66 return protocolFamily();
67 }
68 }