| 623 | } |
| 624 | |
| 625 | void Segment::SplitList(KeyEntry* entry, uint64_t ts, |
| 626 | ::fedb::base::Node<uint64_t, DataBlock*>** node) { |
| 627 | // skip entry that ocupied by reader |
| 628 | if (entry->refs_.load(std::memory_order_acquire) <= 0) { |
| 629 | *node = entry->entries.Split(ts); |
| 630 | } |
| 631 | } |
| 632 | |
| 633 | // fast gc with no global pause |
| 634 | void Segment::Gc4TTL(const uint64_t time, uint64_t& gc_idx_cnt, |