14
submitted 2 weeks ago by Cpo@lemm.ee to c/rust@programming.dev

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 2 weeks ago

Not talking threads here, more Tokio tasks.

[-] BB_C@programming.dev 5 points 2 weeks 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.

[-] Cpo@lemm.ee 1 points 2 weeks ago

Thanks for the correction ๐Ÿ‘

this post was submitted on 10 Nov 2024
14 points (93.8% liked)

Rust

6041 readers
5 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