You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This restricts being able to do Arc<RwLock<Evm<_>>> and having shared access to an Evm<_> instance where one could be able to parallelize over read-only txs.
Solution
I have brought this up before, but we could simply tag those dyn Fns with Send + Sync, however I don't think this is what revm wants. Perhaps this could be an option under a feature flag?
There could be other ways around this. Do we have any ideas on what would be acceptable?
Related Issues
It was brought up that #916 was related, and I began trying to work on this. I want to open up this issue here to keep it in mind and discuss.
The text was updated successfully, but these errors were encountered:
This is probably not going to happen with whole Evm what i would recommend is to use and send Context while rebuilding Handler when needed.
The database will still be a problem to be shared.
Clone the context will make a snapshot of the DB then it's not a true shared state. (correct me if I'm wrong)
Problem
Right now, we cannot share
Evm<_>
across thread boundaries as there are certain handlers that are not set to beSend + Sync
. E.g.:revm/crates/revm/src/handler/handle_types/validation.rs
Lines 9 to 19 in 13ce013
This restricts being able to do
Arc<RwLock<Evm<_>>>
and having shared access to anEvm<_>
instance where one could be able to parallelize over read-only txs.Solution
dyn Fn
s withSend + Sync
, however I don't think this is what revm wants. Perhaps this could be an option under a feature flag?Related Issues
It was brought up that #916 was related, and I began trying to work on this. I want to open up this issue here to keep it in mind and discuss.
The text was updated successfully, but these errors were encountered: