MCPcopy Create free account
hub / github.com/apache/trafficserver / remove

Method remove

include/proxy/http2/Http2DependencyTree.h:355–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353
354template <typename T>
355void
356Tree<T>::remove(Node *node)
357{
358 if (node == _root || node->active) {
359 return;
360 }
361
362 // Make a note of node's ancestry
363 add_ancestor(node);
364
365 Node *parent = node->parent;
366 parent->children.remove(node);
367 if (node->queued) {
368 parent->queue->erase(node->entry);
369 }
370
371 // Push queue entries
372 while (!node->queue->empty()) {
373 parent->queue->push(node->queue->top());
374 node->queue->pop();
375 }
376
377 // Push children
378 while (!node->children.empty()) {
379 Node *child = node->children.pop();
380 parent->children.push(child);
381 child->parent = parent;
382 }
383
384 // delete the shadow parent
385 if (parent->is_shadow() && parent->children.empty() && parent->queue->empty()) {
386 remove(parent);
387 }
388
389 // ink_release_assert(!this->in(nullptr, node));
390
391 --_node_count;
392 delete node;
393}
394
395template <typename T>
396Node *

Callers 2

~NodeMethod · 0.45
_change_parentMethod · 0.45

Calls 7

removeFunction · 0.85
is_shadowMethod · 0.80
eraseMethod · 0.45
emptyMethod · 0.45
pushMethod · 0.45
topMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected