this post was submitted on 10 Nov 2024
12 points (92.9% liked)

Rust

5999 readers
3 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

In order to share the running transaction into a DAO style data management class, I have wrapped the transaction in an Arc 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 anymore, as the commit requires a mut self.

Any ideas on how to work around this?

you are viewing a single comment's thread
view the rest of the comments
[–] Cpo@lemm.ee 1 points 1 week ago (1 children)

Not talking threads here, more Tokio tasks.

[–] BB_C@programming.dev 4 points 1 week ago (1 children)

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.

[–] Cpo@lemm.ee 1 points 6 days ago

Thanks for the correction 👍