Home / Function/ testIPv6EncodeProxyV2() — netty Function Reference

testIPv6EncodeProxyV2() — netty Function Reference

Architecture documentation for the testIPv6EncodeProxyV2() function in HaProxyMessageEncoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  9e250540_5a69_8689_2859_e76cdc085f89["testIPv6EncodeProxyV2()"]
  4545ac9d_2f62_4ac7_c80f_5975d8175456["HaProxyMessageEncoderTest"]
  9e250540_5a69_8689_2859_e76cdc085f89 -->|defined in| 4545ac9d_2f62_4ac7_c80f_5975d8175456
  style 9e250540_5a69_8689_2859_e76cdc085f89 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HaProxyMessageEncoderTest.java lines 132–186

    @Test
    public void testIPv6EncodeProxyV2() {
        EmbeddedChannel ch = new EmbeddedChannel(INSTANCE);

        HAProxyMessage message = new HAProxyMessage(
                HAProxyProtocolVersion.V2, HAProxyCommand.PROXY, HAProxyProxiedProtocol.TCP6,
                "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "1050:0:0:0:5:600:300c:326b", 56324, 443);
        assertTrue(ch.writeOutbound(message));

        ByteBuf byteBuf = ch.readOutbound();

        // header
        byte[] headerBytes = ByteBufUtil.getBytes(byteBuf, 0, 12);
        assertArrayEquals(BINARY_PREFIX, headerBytes);

        // command
        byte commandByte = byteBuf.getByte(12);
        assertEquals(0x02, (commandByte & 0xf0) >> 4);
        assertEquals(0x01, commandByte & 0x0f);

        // transport protocol, address family
        byte transportByte = byteBuf.getByte(13);
        assertEquals(0x02, (transportByte & 0xf0) >> 4);
        assertEquals(0x01, transportByte & 0x0f);

        // source address length
        int sourceAddrLength = byteBuf.getUnsignedShort(14);
        assertEquals(IPv6_ADDRESS_BYTES_LENGTH, sourceAddrLength);

        // source address
        byte[] sourceAddr = ByteBufUtil.getBytes(byteBuf, 16, 16);
        assertArrayEquals(new byte[] {
                (byte) 0x20, (byte) 0x01, 0x0d, (byte) 0xb8,
                (byte) 0x85, (byte) 0xa3, 0x00, 0x00, 0x00, 0x00, (byte) 0x8a, 0x2e,
                0x03, 0x70, 0x73, 0x34
        }, sourceAddr);

        // destination address
        byte[] destAddr = ByteBufUtil.getBytes(byteBuf, 32, 16);
        assertArrayEquals(new byte[] {
                (byte) 0x10, (byte) 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x05, 0x06, 0x00, 0x30, 0x0c, 0x32, 0x6b
        }, destAddr);

        // source port
        int sourcePort = byteBuf.getUnsignedShort(48);
        assertEquals(56324, sourcePort);

        // destination port
        int destPort = byteBuf.getUnsignedShort(50);
        assertEquals(443, destPort);

        byteBuf.release();
        assertFalse(ch.finish());
    }

Domain

Subdomains

Frequently Asked Questions

What does testIPv6EncodeProxyV2() do?
testIPv6EncodeProxyV2() is a function in the netty codebase, defined in codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HaProxyMessageEncoderTest.java.
Where is testIPv6EncodeProxyV2() defined?
testIPv6EncodeProxyV2() is defined in codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HaProxyMessageEncoderTest.java at line 132.

Analyze Your Own Codebase

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

Try Supermodel Free