equal
deleted
inserted
replaced
29 import java.io.IOException; |
29 import java.io.IOException; |
30 import java.io.UncheckedIOException; |
30 import java.io.UncheckedIOException; |
31 import java.lang.invoke.MethodHandles; |
31 import java.lang.invoke.MethodHandles; |
32 import java.lang.invoke.VarHandle; |
32 import java.lang.invoke.VarHandle; |
33 import java.net.DatagramPacket; |
33 import java.net.DatagramPacket; |
|
34 import java.net.DatagramSocketImpl; |
34 import java.net.InetAddress; |
35 import java.net.InetAddress; |
35 import java.net.InetSocketAddress; |
36 import java.net.InetSocketAddress; |
36 import java.net.NetworkInterface; |
37 import java.net.NetworkInterface; |
37 import java.net.ProtocolFamily; |
38 import java.net.ProtocolFamily; |
38 import java.net.SocketAddress; |
39 import java.net.SocketAddress; |
61 import static java.util.concurrent.TimeUnit.NANOSECONDS; |
62 import static java.util.concurrent.TimeUnit.NANOSECONDS; |
62 |
63 |
63 /** |
64 /** |
64 * A DatagramSocketImpl based on low-level NIO primitives. |
65 * A DatagramSocketImpl based on low-level NIO primitives. |
65 */ |
66 */ |
66 public class NioDatagramSocketImpl extends PlatformDatagramSocketImpl { |
67 public class NioDatagramSocketImpl |
|
68 extends DatagramSocketImpl |
|
69 implements PlatformDatagramSocketImpl |
|
70 { |
67 |
71 |
68 private static final NativeDispatcher nd = new SocketDispatcher(); |
72 private static final NativeDispatcher nd = new SocketDispatcher(); |
69 |
73 |
70 private static final JavaNetDatagramPacketAccess DATAGRAM_PACKET_ACCESS = |
74 private static final JavaNetDatagramPacketAccess DATAGRAM_PACKET_ACCESS = |
71 SharedSecrets.getJavaNetDatagramPacketAccess(); |
75 SharedSecrets.getJavaNetDatagramPacketAccess(); |