dermesser / leveldb-rs

A reimplementation of LevelDB in Rust (no bindings).
Other
515 stars 60 forks source link

How to ensure the LRU cache is thread safe? #22

Open uran0sH opened 1 year ago

uran0sH commented 1 year ago

The LRU cache implemented in cache.rs is not thread safe. I'd like to know how you ensure that it is thread-safe

dermesser commented 1 year ago

Well as you say, it isn't thread-safe and not made to be. That's why it isn't Sync.

Do you mean to ask how it could be made thread-safe?

uran0sH commented 1 year ago

Yeah. I thought you made sure the LRU cache was thread-safe elsewhere. I wrote a perhaps thread-safe LRU cache. Maybe you can give some advice? https://github.com/uran0sH/dsa-rs/blob/main/src/concurrent_lru.rs

dermesser commented 1 year ago

As my cache isn't concurrent, it is built quite differently from yours, so right away I can't give good advice I'm afraid.