In order to share the running transaction into a DAO style data management class, I have wrapped the transaction in an Arc<Mutex> and pass it into the DAO.

The issue is, once the transaction is in there I cannot call commit() on it because it cannot be moved out of the Arc<Mutex> anymore, as the commit requires a mut self.

Any ideas on how to work around this?

  • BB_C@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    15 days ago

    You appear to be generally confused.

    If you’re using the multi-threaded work-stealing tokio runtime (the default), you are “talking threads”. And if you aren’t, Arc and Mutex would be useless, irregardless of whether you’re doing it right or wrong.