Changgyoo Park
Changgyoo Park
A global EBR garbage linked-list will be beneficial when a thread may have to suspend for a long time. => ebr::suspend can be an alternative, but it allocates heap memory.
Clear the main bucket when every entry has been removed and there is no reader; use EBR closures.
Required by https://github.com/SAP/transactional-storage-framework, etc.
Hi again, This PR puts the std::sync::Barrier in a workload thread into a `scopeguard` to ensure that the barrier is correctly waited under `almost` any circumstances, therefore panics in the...
Either, 1. directly remove entries while removing sub-trees, or 2. iterate over remaining entries with a strong reference held for each leaf.
*::{insert*, upsert, with_capacity*}, entry::insert_entry must return `Result` where `E: From`.
Refactor asynchronous methods once [async_fn_in_trait](https://doc.rust-lang.org/beta/unstable-book/language-features/async-fn-in-trait.html#async_fn_in_trait) is fully stabilized.
The current `EBR` code is not quite friendly to `Miri` while the code is not as dangerous as `Miri` thinks it is. Need to make the code more friendly to...