Files
boc/aamos-ledger-rust/target/debug/deps/libparking-35c5f4e3c41e7d22.rlib
T

132 lines
86 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 4650 `
:dö_ZN3std4sync6poison10map_result17h03a710544389ed9dE_ZN3std4sync6poison5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h179b30fea6e820c4E_ZN4core4sync6atomic11atomic_load17h71108d20d3d50f1bE_ZN4core4sync6atomic12atomic_store17h47d15d29f8c31409E_ZN4core4sync6atomic11atomic_load17he03be6493a339829E_ZN3std4sync6poison5mutex14Mutex$LT$T$GT$3new17h5cb73325204650ffE_ZN3std4sync6poison5mutex14Mutex$LT$T$GT$4lock17h5642bdad29d4d7c1E_ZN4core4sync6atomic23atomic_compare_exchange17h185bc79c57d26186E_ZN3std4sync6poison7condvar7Condvar12wait_timeout17hc35e3f65d3848290E_ZN4core3ptr73drop_in_place$LT$std..sync..poison..mutex..MutexGuard$LT$$LP$$RP$$GT$$GT$17h8d64c544a79cd52aE_ZN3std4sync6poison7condvar7Condvar4wait17hbb09aa406dee343bE_ZN48_$LT$$RF$A$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h399a8bfaba86aa81E_ZN4core3fmt2rt8Argument11new_display17ha7280d380d8fcc1bE_ZN4core3fmt9Arguments3new17h1c30b8aefcff4a37E_ZN4core3mem4drop17h62cdf83b609a5a1fE_ZN4core3ptr111drop_in_place$LT$std..sync..poison..PoisonError$LT$std..sync..poison..mutex..MutexGuard$LT$$LP$$RP$$GT$$GT$$GT$17h81c948f9c2c7495dE_ZN4core3ptr112drop_in_place$LT$$LP$std..sync..poison..mutex..MutexGuard$LT$$LP$$RP$$GT$$C$std..sync..WaitTimeoutResult$RP$$GT$17h43d2c84dec5fda67E_ZN4core3ptr150drop_in_place$LT$std..sync..poison..PoisonError$LT$$LP$std..sync..poison..mutex..MutexGuard$LT$$LP$$RP$$GT$$C$std..sync..WaitTimeoutResult$RP$$GT$$GT$17h4679d4818502e5dbE_ZN4core3ptr36drop_in_place$LT$parking..Parker$GT$17hb5c04c13c5f26545E_ZN4core3ptr38drop_in_place$LT$parking..Unparker$GT$17h6e2e16834d6ae6d4E_ZN4core3ptr59drop_in_place$LT$alloc..sync..Arc$LT$parking..Inner$GT$$GT$17h4887407093d89127E_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h57746c3462716b0bE_ZN87_$LT$std..sync..poison..mutex..MutexGuard$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd72f6fc2652a113eE_ZN4core3ptr87drop_in_place$LT$alloc..sync..Weak$LT$parking..Inner$C$$RF$alloc..alloc..Global$GT$$GT$17h63b18953b01e0d69E_ZN72_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h554a1e8cf363edd2E_ZN4core4sync6atomic23atomic_compare_exchange17hf4773e842193640cE_ZN4core6result19Result$LT$T$C$E$GT$5is_ok17h9b5d310b6fc21fd3E_ZN73_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17hf15789572008338dE_ZN7parking5Inner6unpark17hfe1053f46c44cb77E_ZN52_$LT$parking..Parker$u20$as$u20$core..fmt..Debug$GT$3fmt17h7d383839719a821fE_ZN54_$LT$parking..Unparker$u20$as$u20$core..fmt..Debug$GT$3fmt17h0187a57dfd8abed8E_ZN56_$LT$parking..Unparker$u20$as$u20$core..clone..Clone$GT$5clone17h95f84bce9da8563bE_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h2d5a11a47d975f7bE_ZN58_$LT$parking..Parker$u20$as$u20$core..default..Default$GT$7default17he5daf4f14967e7aeE_ZN7parking6Parker3new17h67f0f83c99376a0eE_ZN5alloc4sync11data_offset17h83ea193875ac3740E_ZN5alloc4sync12Arc$LT$T$GT$3new17h739be52670f289e5E_ZN5alloc4sync16Arc$LT$T$C$A$GT$11from_raw_in17h76160100b27ecc49E_ZN5alloc4sync16Arc$LT$T$C$A$GT$25increment_strong_count_in17h7161423faf8953e0E_ZN5alloc4sync16Arc$LT$T$C$A$GT$6ptr_eq17ha7bfabf507f6ade5E_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h6c0ef977e4844359E_ZN5alloc4task106_$LT$impl$u20$core..convert..From$LT$alloc..sync..Arc$LT$W$GT$$GT$$u20$for$u20$core..task..wake..Waker$GT$4from17hf5f7c1dff4133c7fE_ZN5alloc4task9raw_waker10drop_waker17h6d15c06a91e8a27bE_ZN5alloc4task9raw_waker11wake_by_ref17hffe203d9853fbeccE_ZN5alloc4task9raw_waker4wake17h5fce9f894bfb7c71E_ZN76_$LT$std..sync..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h6126fc3370da41a8E_ZN76_$LT$std..sync..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h7483ccf10bef591eE_ZN7parking4pair17he100f45dd11807f7E_ZN7parking
parking-35c5f4e3c41e7d22.parking.11f8dd1b6d9049fe-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 20944 `
ELF·PP@@GNUÀrust
N#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁçloomÁÀ 
  
pairÁParkerÁunparkerÁ_markerÁæ parkÁ park_timeoutÁ
park_deadlineÁunparkÁÀ>×UnparkerÁ!innerÁ#š # will_unparkÁ# same_parkerÁ'×)ƒ+÷EMPTYÁPARKEDÁNOTIFIEDÁInnerÁ0º0lockÁ0cvarÁ4è4š 7wakeÁ7 wake_by_refÁ







$
%
%
&
&
(
(
(
*
5
6
9
³³ÀÏ:W‡
Áyοcƒ
¿c!!à "Ò ÐL¼Æ~
º¤ØÈ
éããWakerÁäwakerÁ¸ È
4åêé‚È
¿<00Ö
1º2é
3ô
¼´ix_öµI'!)!+ã70³ ¿cØ
é¿<ÍÍ$±gl±g
ë!†J†JK‰Jµ 7ŠJphantomÁ7J¤7·0ØQdèÉçEçEèEGlobalÁ ¿±‡§í# Ÿ4¶g
6ÃD¶g ÄgÅgüŽg78¦g¢$–g É& ¢A(VœN»T¢¢l„hœ$„h"4‰h»"D‰h˜h9üÙg?ùg»$ègr°y9œ»š!-./0Àç—3a$á.ל¤, PhantomDataÁ\²ïKΆJWakeÁ$ã¿< 
ã
DurationÁD€­Ö InstantÁ<ÃóT AtomicUsizeÁ\ß„Ä
×ÅÀׯÀCondvarÁ<‡>¤µ>üšhü! Thread parking and unparking.Á"úü&nk A [`Parker`] is in either the notified or unnotified state. The [`park()`][`Parker::park()`] method blocksÁü•fc the current thread until the [`Parker`] becomes notified and then puts it back into the unnotifiedÁüüYV state. The [`unpark()`][`Unparker::unpark()`] method puts it into the notified state.ÁÖúüÚa^ This API is similar to [`thread::park()`] and [`Thread::unpark()`] from the standard library.Áü¼b_ The difference is that the state "token" managed by those functions is shared across an entireÁüŸc` thread, and anyone can call [`thread::current()`] to access it. If you use `park` and `unpark`,Áüƒ^[ but you also call a function that uses `park` and `unpark` internally, that function couldÁüâc` cause a deadlock by consuming a wakeup that was intended for you. The [`Parker`] object in thisÁüÆc` crate avoids that problem by managing its own state, which isn't shared with unrelated callers.Áªúü®IF [`thread::park()`]: https://doc.rust-lang.org/std/thread/fn.park.htmlÁüø_\ [`Thread::unpark()`]: https://doc.rust-lang.org/std/thread/struct.Thread.html#method.unparkÁüØOL [`thread::current()`]: https://doc.rust-lang.org/std/thread/fn.current.htmlÁ¨ ú # ExamplesÁ» ú<¿  ```Á¤Ç  use std::thread;ÁäÜ  use std::time::Duration;ÁÄù  use parking::Parker;Á
úÔ–
 let p = Parker::new();Á̱
 let u = p.unparker();ÁË
úÌÏ
 // Notify the parker.Á
u.unpark();Áù
úüý
;8 // Wakes up immediately because the parker is notified.Á
p.park();ÁÇ úÜË  thread::spawn(move || {Áüç 2/ thread::sleep(Duration::from_millis(500));Áœš  u.unpark();Á  });Á úüº TQ // Wakes up when `u.unpark()` notifies and then goes back into unnotified state.Ál
Ñ#<
ö ahttps://raw.githubusercontent.com/smol-rs/smol/master/assets/images/logo_fullsize_transparent.pngÁ„’‡&l˜!-./0À© ç¹ —3aË á.×Þ ¤,ïÔ ïæ KÔ †J²Ï ¿< 
Î ã
ÝÅ ­Ö ù½ óT ± „Ä
×° ÅÀ×à ÆÀÚ© ‡>¤¨ µ>© © © L½¹ |‚Ë D—Þ Ä¥ü tÃ!
L×8
8
K
K
ϛg
”¸r
ÌÑ[
ôðN
$”&
)


ü§#ü­0- Creates a parker and an associated unparker.ÁÞúÓ ñúö üý! let (p, u) = parking::pair();Áö $®ƒ
È

Œ®ì Waits for a notification.Áƒ
:W‡
ÁyΔÆÈ
ôÞïFu\»Ÿá.á.aã.»Ì-IÜžB2®\ƒ
´¸Ì“ Creates a new parker.Á±úÓ Ìúö ÄàÈ!ýúÔ…õ!ö °ú¿ƒ

”†üC@ Blocks until notified and then goes back into unnotified state.ÁÕúÓ ðúö Ä„È!¡úÔ©õ!ÌȘ"æúÌîÆ"è" úü¨;#Ñ#ö $: 
 
$“ü¬!6üÎVS Blocks until notified and then goes back into unnotified state, or times out afterÁ `duration`.Á½úüÅ2/ Returns `true` if notified before the timeout.Áüút„Ó úö ä«£!ÄÌÈ!éúÔñõ! úü˜ 96 // Wait for a notification, or time out after 500 ms.ÁüÖ /, p.park_timeout(Duration::from_millis(500));Á<Š!ö Í$ !4Ÿ!Œ–!d³!; 
­Ö­ÖÝ®ÖsecsÁâ}¯ÖnanosÁâ}Zµ–²ª À!
$Á!durationÁDÇ!ü‘&5ü¡"^[ Blocks until notified and then goes back into unnotified state, or times out at `instant`.Á„#úüŒ#30 Returns `true` if notified before the deadline.ÁÄ#útÌ#Ó ß#ú<ç#ö üó#'$ use std::time::{Duration, Instant};ÁÄŸ$È!¼$úÔÄ$õ!ã$úüë$9§4ü©%A> p.park_deadline(Instant::now() + Duration::from_millis(500));Á<ï%ö Í$…&4„&Œû%l˜&< 
óTóTôTùõTˆA t( ¼Í¥Š ¦&
$§&instantÁ<­&ä´+ÄÈ' Notifies the parker.Áå'úüí'[X Returns `true` if this call is the first to notify the parker, or `false` if the parkerÁÌÍ( was already notified.Áë(útó(Ó †)ú<Ž)ö ¤š)†!ä³)£!ÄÔ)È!ñ)úÔù)õ!˜*úü *! assert_eq!(p.unpark(), true);ÁüÆ*" assert_eq!(p.unpark(), false);Áí*úäõ* // Wakes up immediately.Ál+Ñ#<¨+ö 4»+= 
 Â+
$Ã+ü¨/"üý+# Returns a handle for unparking.Á¥,úü­,EB The returned [`Unparker`] can be cloned and shared among threads.Á÷,útÿ,Ó -ú<š-ö Ħ-È!Ã-úÔË-õ!Ìê-˜"ˆ.úÌ.Æ"|®.è"Â.úüÊ.;#lŠ/Ñ#<œ/ö D¯/> 
È
 ¸/
$¹/¼ô/ƒ
´´’0<•0ƒ

ÔÊ0ƒ
Àc üë08î0?@A 
@ c cˆ¢cµ
 `£cbufÁ `àB¤GS
AÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ ÈErrorÁ O˜éBL ò0
$ó0± ù0œå1´Î1 Notifies a parker.ÁDð1È
ÐL¼Æ~
º¤"Œÿ1,ÿ1!!¢l•2È
$%&ä¤7ü©2# Notifies the associated parker.ÁÑ2úüÙ2[Û;̹3¿<×3útß3Ó ò3ú<ú3ö ¤†4†!äŸ4£!ÄÀ4È!Ý4úÔå4õ!Ì„5˜"¢5úܪ5ó#üÊ52˜$œ6Ó$<™6ï$¥6úü­6TŒ%l†7Ñ#<˜7ö 4«7B 
# ²7#
$$³7üÔ:2üê7FC Indicates whether this unparker will unpark the associated parker.Áµ8úü½8IF This can be used to avoid unnecessary work before calling `unpark()`.Á9út“9Ó ¦9ú<®9ö ĺ9È!×9úÔß9õ!Ìþ9˜"œ:úü¤: assert!(u.will_unpark(&p));Á<È:ö \Û:CD 

# ç:#
%$è:parkerÁ4î:üý=3üÍ;@= Indicates whether two unparkers will unpark the same parker.Á<útš<Ó ­<ú<µ<ö ÄÁ<È!Þ<úÔæ<õ!Ô…= let u1 = p.unparker();ÁÔ¤= let u2 = p.unparker();ÁÃ=úüË=! assert!(u1.same_parker(&u2));Á<ñ=ö \„>EF 

# >#
&$>¹
,—>äë>È
(Àc(üŽ?8?GHI 
H c cˆ¢cµ
 `£c†D `àB¤GS
I¬E' •?'
($–?± œ?¼ó?È
*Ù*Ü‘@,”@J 
È
) š@)
*$@ìü@ƒ,ë,ì A$£AÈ
ƒ++
,upÁ¨A”çA,íAÍœÿA4…Bͬ˜BDžBÍd´B,»Bɼ´ix_öµI123”ÇB,ÇB00¤]¤]V¦]Á‚]üß3ø¤”&Í|ßB$ßB00µ>µ>¤·>Ò £>¸>poisonÁ£>¹>dataÁ£>Ë»™z™g—lôB$ôB00‡>‡>Úˆ>Ò ú=UZ
i)RÖÀT†CÉ56ü—C1$šCK Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙâ64 ŸC4
5$ CtimeoutÁ<¦Cäœ[4£[L 4 ª[4»$«[œæfÉ89À<Á<89ÄŽg$g¢77
8£üÙg \ÜgM 7 îg7
9f Âj&