private int getNameIndex(byte[] name) { int index = StaticTable.getIndex(name); if (index == -1) { index = getIndex(name); if (index >= 0) { index += StaticTable.length; } } return index; }
private int getNameIndex(byte[] name) { int index = StaticTable.getIndex(name); if (index == -1) { index = getIndex(name); if (index >= 0) { index += StaticTable.length; } } return index; }
/** * Returns the lowest index value for the header field name in the dynamic table. * Returns -1 if the header field name is not in the dynamic table. */ private int getIndex(byte[] name) { if (length() == 0 || name == null) { return -1; } int h = hash(name); int i = index(h); int index = -1; for (HeaderEntry e = headerFields[i]; e != null; e = e.next) { if (e.hash == h && HpackUtil.equals(name, e.name)) { index = e.index; break; } } return getIndex(index); }
/** * Returns the lowest index value for the header field name in the dynamic table. * Returns -1 if the header field name is not in the dynamic table. */ private int getIndex(byte[] name) { if (length() == 0 || name == null) { return -1; } int h = hash(name); int i = index(h); int index = -1; for (HeaderEntry e = headerFields[i]; e != null; e = e.next) { if (e.hash == h && HpackUtil.equals(name, e.name)) { index = e.index; break; } } return getIndex(index); }
int index = getIndex(headerField.index) + StaticTable.length;
int index = getIndex(headerField.index) + StaticTable.length;