/** Adds the entry at the tail of the bucket's list. */ void link(Node<K, V> sentinel, Node<K, V> node) { node.setPreviousInVariableOrder(sentinel.getPreviousInVariableOrder()); node.setNextInVariableOrder(sentinel); sentinel.getPreviousInVariableOrder().setNextInVariableOrder(node); sentinel.setPreviousInVariableOrder(node); }
/** Removes the entry from its bucket, if scheduled. */ void unlink(Node<K, V> node) { Node<K, V> next = node.getNextInVariableOrder(); if (next != null) { Node<K, V> prev = node.getPreviousInVariableOrder(); next.setPreviousInVariableOrder(prev); prev.setNextInVariableOrder(next); } }
/** * Removes a timer event for this entry if present. * * @param node the entry in the cache */ public void deschedule(@NonNull Node<K, V> node) { unlink(node); node.setNextInVariableOrder(null); node.setPreviousInVariableOrder(null); }
Node<K, V> prev = sentinel.getPreviousInVariableOrder(); Node<K, V> node = sentinel.getNextInVariableOrder(); sentinel.setPreviousInVariableOrder(sentinel); sentinel.setNextInVariableOrder(sentinel); node.setPreviousInVariableOrder(null); node.setNextInVariableOrder(null); node.setPreviousInVariableOrder(sentinel.getPreviousInVariableOrder()); node.setNextInVariableOrder(next); sentinel.getPreviousInVariableOrder().setNextInVariableOrder(node); sentinel.setPreviousInVariableOrder(prev); throw t;
/** Adds the entry at the tail of the bucket's list. */ void link(Node<K, V> sentinel, Node<K, V> node) { node.setPreviousInVariableOrder(sentinel.getPreviousInVariableOrder()); node.setNextInVariableOrder(sentinel); sentinel.getPreviousInVariableOrder().setNextInVariableOrder(node); sentinel.setPreviousInVariableOrder(node); }
/** * Removes a timer event for this entry if present. * * @param node the entry in the cache */ public void deschedule(Node<K, V> node) { unlink(node); node.setNextInVariableOrder(null); node.setPreviousInVariableOrder(null); }
/** Removes the entry from its bucket, if scheduled. */ void unlink(Node<K, V> node) { Node<K, V> next = node.getNextInVariableOrder(); if (next != null) { Node<K, V> prev = node.getPreviousInVariableOrder(); next.setPreviousInVariableOrder(prev); prev.setNextInVariableOrder(next); } }
Node<K, V> prev = sentinel.getPreviousInVariableOrder(); Node<K, V> node = sentinel.getNextInVariableOrder(); sentinel.setPreviousInVariableOrder(sentinel); sentinel.setNextInVariableOrder(sentinel); node.setPreviousInVariableOrder(null); node.setNextInVariableOrder(null); node.setPreviousInVariableOrder(sentinel.getPreviousInVariableOrder()); node.setNextInVariableOrder(next); sentinel.getPreviousInVariableOrder().setNextInVariableOrder(node); sentinel.setPreviousInVariableOrder(prev); throw t;