in hpack/src/main/java/com/twitter/hpack/Encoder.java [354:379]
private HeaderField remove() {
if (size == 0) {
return null;
}
HeaderEntry eldest = head.after;
int h = eldest.hash;
int i = index(h);
HeaderEntry prev = headerFields[i];
HeaderEntry e = prev;
while (e != null) {
HeaderEntry next = e.next;
if (e == eldest) {
if (prev == eldest) {
headerFields[i] = next;
} else {
prev.next = next;
}
eldest.remove();
size -= eldest.size();
return eldest;
}
prev = e;
e = next;
}
return null;
}