Home / Class/ HAProxySSLTLV Class — netty Architecture

HAProxySSLTLV Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  085fe2ee_7202_b045_2acd_11fd26578447["HAProxySSLTLV"]
  50b79b89_0fdf_5031_ca44_73c662e76d99["HAProxySSLTLV.java"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|defined in| 50b79b89_0fdf_5031_ca44_73c662e76d99
  527b5b72_fb8c_5db1_df08_100b735974a9["HAProxySSLTLV()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 527b5b72_fb8c_5db1_df08_100b735974a9
  88deaf40_0bbd_8256_32e3_41f8551044ad["isPP2ClientCertConn()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 88deaf40_0bbd_8256_32e3_41f8551044ad
  dc2de319_95e8_4e4e_0e1f_167f4339698b["isPP2ClientSSL()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| dc2de319_95e8_4e4e_0e1f_167f4339698b
  1be55774_6b38_3810_aab7_c95ec43b8216["isPP2ClientCertSess()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 1be55774_6b38_3810_aab7_c95ec43b8216
  8f98b372_a288_0466_f77f_9e2c59ca128a["client()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 8f98b372_a288_0466_f77f_9e2c59ca128a
  43eff29e_3820_4c62_12d4_768ccf42b8b7["verify()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 43eff29e_3820_4c62_12d4_768ccf42b8b7
  3f839653_e3e6_53d9_c72b_1b15182d82d9["encapsulatedTLVs()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 3f839653_e3e6_53d9_c72b_1b15182d82d9
  ea21e13b_c27e_718b_8303_1f0a9c45ac77["contentNumBytes()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| ea21e13b_c27e_718b_8303_1f0a9c45ac77
  7ef9cd77_5751_3662_d077_1f498e76b58c["String()"]
  085fe2ee_7202_b045_2acd_11fd26578447 -->|method| 7ef9cd77_5751_3662_d077_1f498e76b58c

Relationship Graph

Source Code

codec-haproxy/src/main/java/io/netty/handler/codec/haproxy/HAProxySSLTLV.java lines 30–125

public final class HAProxySSLTLV extends HAProxyTLV {

    private final int verify;
    private final List<HAProxyTLV> tlvs;
    private final byte clientBitField;

    /**
     * Creates a new HAProxySSLTLV
     *
     * @param verify the verification result as defined in the specification for the pp2_tlv_ssl struct (see
     * https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)
     * @param clientBitField the bitfield with client information
     * @param tlvs the encapsulated {@link HAProxyTLV}s
     */
    public HAProxySSLTLV(final int verify, final byte clientBitField, final List<HAProxyTLV> tlvs) {
        this(verify, clientBitField, tlvs, Unpooled.EMPTY_BUFFER);
    }

    /**
     * Creates a new HAProxySSLTLV
     *
     * @param verify the verification result as defined in the specification for the pp2_tlv_ssl struct (see
     * https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)
     * @param clientBitField the bitfield with client information
     * @param tlvs the encapsulated {@link HAProxyTLV}s
     * @param rawContent the raw TLV content
     */
    HAProxySSLTLV(final int verify, final byte clientBitField, final List<HAProxyTLV> tlvs, final ByteBuf rawContent) {
        super(Type.PP2_TYPE_SSL, (byte) 0x20, rawContent);

        this.verify = verify;
        this.tlvs = Collections.unmodifiableList(tlvs);
        this.clientBitField = clientBitField;
    }

    /**
     * Returns {@code true} if the bit field for PP2_CLIENT_CERT_CONN was set
     */
    public boolean isPP2ClientCertConn() {
        return (clientBitField & 0x2) != 0;
    }

    /**
     * Returns {@code true} if the bit field for PP2_CLIENT_SSL was set
     */
    public boolean isPP2ClientSSL() {
        return (clientBitField & 0x1) != 0;
    }

    /**
     * Returns {@code true} if the bit field for PP2_CLIENT_CERT_SESS was set
     */
    public boolean isPP2ClientCertSess() {
        return (clientBitField & 0x4) != 0;
    }

    /**
     * Returns the client bit field
     */
    public byte client() {
        return clientBitField;
    }

    /**
     * Returns the verification result
     */
    public int verify() {
        return verify;
    }

    /**
     * Returns an unmodifiable Set of encapsulated {@link HAProxyTLV}s.
     */
    public List<HAProxyTLV> encapsulatedTLVs() {
        return tlvs;
    }

    @Override
    int contentNumBytes() {
        int tlvNumBytes = 0;
        for (int i = 0; i < tlvs.size(); i++) {

Frequently Asked Questions

What is the HAProxySSLTLV class?
HAProxySSLTLV is a class in the netty codebase, defined in codec-haproxy/src/main/java/io/netty/handler/codec/haproxy/HAProxySSLTLV.java.
Where is HAProxySSLTLV defined?
HAProxySSLTLV is defined in codec-haproxy/src/main/java/io/netty/handler/codec/haproxy/HAProxySSLTLV.java at line 30.

Analyze Your Own Codebase

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

Try Supermodel Free