Home / Function/ testIPv4EncodeProxyV2() — netty Function Reference

testIPv4EncodeProxyV2() — netty Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

codec-haproxy/src/test/java/io/netty/handler/codec/haproxy/HaProxyMessageEncoderTest.java lines 83–130

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

        HAProxyMessage message = new HAProxyMessage(
                HAProxyProtocolVersion.V2, HAProxyCommand.PROXY, HAProxyProxiedProtocol.TCP4,
                "192.168.0.1", "192.168.0.11", 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(0x01, (transportByte & 0xf0) >> 4);
        assertEquals(0x01, transportByte & 0x0f);

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

        // source address
        byte[] sourceAddr = ByteBufUtil.getBytes(byteBuf, 16, 4);
        assertArrayEquals(new byte[] { (byte) 0xc0, (byte) 0xa8, 0x00, 0x01 }, sourceAddr);

        // destination address
        byte[] destAddr = ByteBufUtil.getBytes(byteBuf, 20, 4);
        assertArrayEquals(new byte[] { (byte) 0xc0, (byte) 0xa8, 0x00, 0x0b }, destAddr);

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

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

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

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free