Lines Matching refs:node
79 LRUNode* node = fMap.Get(key);
81 if (node != NULL) {
82 if (node->fValue != value) {
83 node->fValue = value;
84 _DisconnectNodeAndMakeNewest(node);
87 node = new(std::nothrow) LRUNode(key, value);
88 if (node == NULL)
90 status_t result = fMap.Put(key, node);
92 delete node;
95 _SetNewestNode(node);
104 LRUNode* node = fMap.Get(key);
105 if (node != NULL) {
106 _DisconnectNode(node);
107 Value result = node->fValue;
109 delete node;
127 LRUNode* node = fMap.Get(key);
128 if (node != NULL) {
129 _DisconnectNodeAndMakeNewest(node);
130 return node->fValue;
147 void _DisconnectNodeAndMakeNewest(LRUNode* node) {
148 if (node != fNewestNode) {
149 _DisconnectNode(node);
150 node->fOlder = NULL;
151 node->fNewer = NULL;
152 _SetNewestNode(node);
156 void _DisconnectNode(LRUNode* node)
158 LRUNode *older = node->fOlder;
159 LRUNode *newer = node->fNewer;
164 if (fNewestNode == node)
166 if (fOldestNode == node)
170 void _SetNewestNode(LRUNode* node)
172 if (node != fNewestNode) {
173 node->fOlder = fNewestNode;
174 node->fNewer = NULL;
176 fNewestNode->fNewer = node;
177 fNewestNode = node;
179 fOldestNode = node;
186 debugger("attempt to purge oldest node but there is none to purge");