Remove `Backend::destroy_state` (#5068)
* Remove `Backend::destroy_state` This removes the `destroy_state` function of `Backend` and instead moves the functionality into the `Drop` implementation of the state. This makes it much easier to work with the state, as the user no longer needs to call` destroy_state` manually. However, it requires that we switch from `RwLock` to `ReentrantMutex` as while importing a block we maybe need to lock again in `drop`. * Bring back the `RwLock` and some other clean ups * Fix compilation
Showing
- substrate/client/api/src/backend.rs 0 additions, 5 deletionssubstrate/client/api/src/backend.rs
- substrate/client/block-builder/src/lib.rs 2 additions, 8 deletionssubstrate/client/block-builder/src/lib.rs
- substrate/client/db/src/lib.rs 61 additions, 31 deletionssubstrate/client/db/src/lib.rs
- substrate/client/db/src/stats.rs 13 additions, 3 deletionssubstrate/client/db/src/stats.rs
- substrate/client/db/src/storage_cache.rs 227 additions, 20 deletionssubstrate/client/db/src/storage_cache.rs
- substrate/client/src/call_executor.rs 11 additions, 23 deletionssubstrate/client/src/call_executor.rs
- substrate/client/src/client.rs 4 additions, 10 deletionssubstrate/client/src/client.rs
Please register or sign in to comment