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

Method update_maximum_size

src/proxy/hdrs/XPACK.cc:409–430  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

407}
408
409bool
410XpackDynamicTable::update_maximum_size(uint32_t new_max_size)
411{
412 uint32_t used = this->_maximum_size - this->_available;
413 if (used < new_max_size) {
414 this->_maximum_size = new_max_size;
415 this->_available = new_max_size - used;
416 this->_expand_storage_size(new_max_size);
417 return true;
418 }
419
420 // used is larger than or equal to new_max_size. This means that _maximum_size
421 // is shrinking and we need to evict entries to get the used space below
422 // new_max_size.
423 bool ret = this->_make_space(used - new_max_size);
424 // Size update must succeed.
425 if (ret) {
426 this->_available = new_max_size - (this->_maximum_size - this->_available);
427 this->_maximum_size = new_max_size;
428 }
429 return ret;
430}
431
432uint32_t
433XpackDynamicTable::size() const

Callers 1

test_XPACK.ccFile · 0.45

Calls 2

_expand_storage_sizeMethod · 0.95
_make_spaceMethod · 0.95

Tested by

no test coverage detected