Files
boc/aamos-ledger-rust/target/debug/deps/libtry_lock-248d9029c468ba3d.rmeta
T

36 lines
16 KiB
Plaintext
Raw Normal View History

rust
?#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁítestsÁ,È<$½<í  ¥ æ  try_lockÁ try_lock_orderÁ try_lock_explicitÁ try_lock_explicit_uncheckedÁ 
into_innerÁ¥¥¥×LockedPlaceholderÁ
×LockedÁ'aÁ¥lockÁorderÁ_pÁ%Æ%¥%å%´*Æ*¥*.Æ.¥.ã2Æ2¥2×TryLockÁ6¥6 is_lockedÁ6»:¥:>









)
-
1
5
5
5
³66á8ö9»û†cؼ„æ¥Ììß ß¿cß¿c 8ÓÖ¥ÿé!¹"Ö#á$ía¼±I0†8YÆ¥ö!éŒ"é¿cé:66662%*.³-Ìì ¿cé!ö!Œ"´Ì
&,
3
¶] Z¤÷-
4
õ0EV Šü«k 6 œüú
¢ 3ßT–¤]¤]V¦]Á‚]üß3ø¤”&rî0î0
UnsafeCellÁð0»Ì-·}—KEüC£TT¿¹Žß6í§ î0׃  `r,˜ é!DerefMutÁDŸ ö!
AtomicBoolÁTà ¬] ®¼À
PhantomDataÁ\ì  
 ü¥?üs52 A light-weight lock guarded by an atomic boolean.Á©úü­IF Most efficient when contention is low, acquiring the lock is a singleÁü÷:7 atomic swap, and releasing it just 1 more atomic swap.Á²ú
# ExampleÁÄú ```Á¼Ð use std::sync::Arc;ÁÔè use try_lock::TryLock;Áƒúü‡ // a thing we want to shareÁœ§ struct Widget {Á¬» name: String,Á×ú”Û // lock it up!Áüî0- let widget1 = Arc::new(TryLock::new(Widget {ÁüŸ name: "Spanner".into(),ÁD¿ }));ÁÈúüÌ" let widget2 = widget1.clone();ÁïúóúÄ÷ // mutate the widgetÁüKH let mut locked = widget1.try_lock().expect("example isn't locked yet");ÁüÜ$! locked.name.push_str(" Bundle");Áú¼… // hands off, buddyÁü(% let not_locked = widget2.try_lock();ÁüÆ:7 assert!(not_locked.is_none(), "widget1 has the lock");ÁúÔ… // ok, you can have itÁŒ  drop(locked);Á²úü¶HE let locked2 = widget2.try_lock().expect("widget1 lock is released");Áÿúüƒ/, assert_eq!(locked2.name, "Spanner Bundle");Áë6íÙ§ Úî0×Ù `rØé!Ñ Ïö!ì Ĭ] ®Ã¼À

· 
É  ´á.@@HK”® 58(+ÌÞ ”¦
¥