Home / Class/ SockaddrInTest Class — netty Architecture

SockaddrInTest Class — netty Architecture

Architecture documentation for the SockaddrInTest class in SockaddrInTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  f542b96b_70a1_3930_b104_0cabb6a71e80["SockaddrInTest"]
  2fbfca09_4a56_73b6_6b75_05da4a4aeacc["SockaddrInTest.java"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|defined in| 2fbfca09_4a56_73b6_6b75_05da4a4aeacc
  3dc5b6d0_673c_c0df_56bf_d7b2fda747c7["loadJNI()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| 3dc5b6d0_673c_c0df_56bf_d7b2fda747c7
  9e723469_cea3_bf5e_b9d4_30a73af97c01["testIp4()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| 9e723469_cea3_bf5e_b9d4_30a73af97c01
  9ff6693a_a315_a444_e046_c79ba96329db["testIp6()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| 9ff6693a_a315_a444_e046_c79ba96329db
  8665082b_6c07_27b4_5d29_cd377b564330["testWriteIp4ReadIpv6Mapped()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| 8665082b_6c07_27b4_5d29_cd377b564330
  eea30fa7_52d5_804c_2fc6_fa89f620bcf3["testUdsPathname()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| eea30fa7_52d5_804c_2fc6_fa89f620bcf3
  89b4e5a6_b555_ab93_7daf_50593757bb66["testUdsAbstractNamespace()"]
  f542b96b_70a1_3930_b104_0cabb6a71e80 -->|method| 89b4e5a6_b555_ab93_7daf_50593757bb66

Relationship Graph

Source Code

transport-native-io_uring/src/test/java/io/netty/channel/uring/SockaddrInTest.java lines 35–177

public class SockaddrInTest {

    @BeforeAll
    public static void loadJNI() {
        assumeTrue(IoUring.isAvailable());
    }

    @Test
    public void testIp4() throws Exception {
        CleanableDirectBuffer cleanableDirectBuffer = allocateDirectBufferWithNativeOrder(64);
        ByteBuffer buffer = cleanableDirectBuffer.buffer();
        try {
            InetAddress address = InetAddress.getByAddress(new byte[] { 10, 10, 10, 10 });
            int port = 45678;
            assertEquals(Native.SIZEOF_SOCKADDR_IN, SockaddrIn.setIPv4(buffer, address, port));
            byte[] bytes = new byte[4];
            InetSocketAddress sockAddr = SockaddrIn.getIPv4(buffer, bytes);
            assertArrayEquals(address.getAddress(), sockAddr.getAddress().getAddress());
            assertEquals(port, sockAddr.getPort());
        } finally {
            cleanableDirectBuffer.clean();
        }
    }

    @Test
    public void testIp6() throws Exception {
        CleanableDirectBuffer cleanableDirectBuffer = allocateDirectBufferWithNativeOrder(64);
        ByteBuffer buffer = cleanableDirectBuffer.buffer();
        try {
            Inet6Address address = Inet6Address.getByAddress(
                    null, new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, 12345);
            int port = 45678;
            assertEquals(Native.SIZEOF_SOCKADDR_IN6, SockaddrIn.setIPv6(buffer, address, port));
            byte[] ipv6Bytes = new byte[16];
            byte[] ipv4Bytes = new byte[4];

            InetSocketAddress sockAddr = SockaddrIn.getIPv6(buffer, ipv6Bytes, ipv4Bytes);
            Inet6Address inet6Address = (Inet6Address) sockAddr.getAddress();
            assertArrayEquals(address.getAddress(), inet6Address.getAddress());
            assertEquals(address.getScopeId(), inet6Address.getScopeId());
            assertEquals(port, sockAddr.getPort());
        } finally {
            cleanableDirectBuffer.clean();
        }
    }

    @Test
    public void testWriteIp4ReadIpv6Mapped() throws Exception {
        CleanableDirectBuffer cleanableDirectBuffer = allocateDirectBufferWithNativeOrder(64);
        ByteBuffer buffer = cleanableDirectBuffer.buffer();
        try {
            InetAddress address = InetAddress.getByAddress(new byte[] { 10, 10, 10, 10 });
            int port = 45678;
            assertEquals(Native.SIZEOF_SOCKADDR_IN6, SockaddrIn.setIPv6(buffer, address, port));
            byte[] ipv6Bytes = new byte[16];
            byte[] ipv4Bytes = new byte[4];

            InetSocketAddress sockAddr = SockaddrIn.getIPv6(buffer, ipv6Bytes, ipv4Bytes);
            Inet4Address ipv4Address = (Inet4Address) sockAddr.getAddress();

            System.arraycopy(SockaddrIn.IPV4_MAPPED_IPV6_PREFIX, 0, ipv6Bytes, 0,
                    SockaddrIn.IPV4_MAPPED_IPV6_PREFIX.length);
            assertArrayEquals(ipv4Bytes, ipv4Address.getAddress());
            assertEquals(port, sockAddr.getPort());
        } finally {
            cleanableDirectBuffer.clean();
        }
    }

    @Test
    public void testUdsPathname() throws Exception {
        CleanableDirectBuffer cleanableDirectBuffer = allocateDirectBufferWithNativeOrder(
                Native.SIZEOF_SOCKADDR_UN);
        ByteBuffer buffer = cleanableDirectBuffer.buffer();
        try {
            String socketPath = "/tmp/test.sock";
            DomainSocketAddress address = new DomainSocketAddress(socketPath);
            byte[] pathBytes = socketPath.getBytes(StandardCharsets.UTF_8);

            int expectedLength = Native.SOCKADDR_UN_OFFSETOF_SUN_PATH + pathBytes.length + 1;
            int actualLength = SockaddrIn.setUds(buffer, address);

Frequently Asked Questions

What is the SockaddrInTest class?
SockaddrInTest is a class in the netty codebase, defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SockaddrInTest.java.
Where is SockaddrInTest defined?
SockaddrInTest is defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SockaddrInTest.java at line 35.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free