in proprot/src/com/amazonaws/proprot/Parser.java [191:232]
private void doReadTlvValueToHeader(Header header, int type, int length) throws IOException {
// CHECKSTYLE:ON
// optimization using switch statement
// it took a lot of time to initialize the map from types to the reading lambdas
switch (type) {
case ProxyProtocolSpec.PP2_TYPE_ALPN:
readAlpn(header, length);
break;
case ProxyProtocolSpec.PP2_TYPE_AUTHORITY:
readAuthority(header, length);
break;
case ProxyProtocolSpec.PP2_TYPE_CRC32C:
readCRC32c(length);
break;
case ProxyProtocolSpec.PP2_TYPE_NOOP:
assist.readBytes(length, "noop");
break;
case ProxyProtocolSpec.PP2_TYPE_SSL:
readSslFlags(header, length);
break;
case ProxyProtocolSpec.PP2_SUBTYPE_SSL_VERSION:
readSslVersion(header, length);
break;
case ProxyProtocolSpec.PP2_SUBTYPE_SSL_CN:
readSslCommonName(header, length);
break;
case ProxyProtocolSpec.PP2_SUBTYPE_SSL_CIPHER:
readSslCipher(header, length);
break;
case ProxyProtocolSpec.PP2_SUBTYPE_SSL_SIG_ALG:
readSslSigAlg(header, length);
break;
case ProxyProtocolSpec.PP2_SUBTYPE_SSL_KEY_ALG:
readSslKeyAlg(header, length);
break;
case ProxyProtocolSpec.PP2_TYPE_NETNS:
readNetNS(header, length);
break;
default:
throw new IllegalStateException("Unrecognized TLV type " + toHex(type));
}
}