atomic-queue-devel-0-0.3.red80> K KtĉH2!c31^ WgeDsupport@red-soft.ru  WgF8.MbxrvC|-@F!##Äŗ5ǧ@[yB?maZFUi5ג{̢(=$Z: 4$ fA\7H?ι}(x=zj]ԊdZde22f89a6ddf4bffe4eafd176a21ed39bdaf19b7b3d035b1136d41bd3441c12fc36a6565b335a93a765b1ff6135aeaf051b8b5c3F7HPa)ә>:Y?Id ! D x |             4   H   p  :  D l   `p(89:oG H I XY\ ]H ^bfdef lt( uP vxCatomic-queue-devel00.3.red80Development files for atomic-queueC++14 multiple-producer-multiple-consumer lockless queues based on circular buffer with std::atomic. The main design principle these queues follow is minimalism: the bare minimum of atomic operations, fixed size buffer, value semantics. These qualities are also limitations: • The maximum queue size must be set at compile time or construction time. The circular buffer side-steps the memory reclamation problem inherent in linked-list based queues for the price of fixed buffer size. See Effective memory reclamation for lock-free data structures in C++ for more details. Fixed buffer size may not be that much of a limitation, since once the queue gets larger than the maximum expected size that indicates a problem that elements aren’t processed fast enough, and if the queue keeps growing it may eventually consume all available memory which may affect the entire system, rather than the problematic process only. The only apparent inconvenience is that one has to do an upfront back-of-the-envelope calculation on what would be the largest expected/acceptable queue size. • There are no OS-blocking push/pop functions. This queue is designed for ultra-low-latency scenarios and using an OS blocking primitive would be sacrificing push-to-pop latency. For lowest possible latency one cannot afford blocking in the OS kernel because the wake-up latency of a blocked thread is about 1-3 microseconds, whereas this queue’s round-trip time can be as low as 150 nanoseconds. Ultra-low-latency applications need just that and nothing more. The minimalism pays off, see the throughput and latency benchmarks. Available containers are: • AtomicQueue - a fixed size ring-buffer for atomic elements. • OptimistAtomicQueue - a faster fixed size ring-buffer for atomic elements which busy-waits when empty or full. • AtomicQueue2 - a fixed size ring-buffer for non-atomic elements. • OptimistAtomicQueue2 - a faster fixed size ring-buffer for non-atomic elements which busy-waits when empty or full. These containers have corresponding AtomicQueueB, OptimistAtomicQueueB, AtomicQueueB2, OptimistAtomicQueueB2 versions where the buffer size is specified as an argument to the constructor. Totally ordered mode is supported. In this mode consumers receive messages in the same FIFO order the messages were posted. This mode is supported for push and pop functions, but for not the try_ versions. On Intel x86 the totally ordered mode has 0 cost, as of 2019. Single-producer-single-consumer mode is supported. In this mode, no read-modify-write instructions are necessary, only the atomic loads and stores. That improves queue throughput significantly. The atomic-queue-devel package contains libraries and header files for developing applications that use atomic-queue.d"Dstapel80.red-soft.ru˗RED SOFTRED SOFTMITRED SOFTUnspecifiedhttps://github.com/max0x7ba/atomic_queuelinuxi686^+ ) |61A큤A큤A큤a#a#a#a#a#a#d"D%a#d"D%a#d9aee5c03de095868475aaa526a2963f54a485bc70c7d3ec1f98dc539377c5f07e7de2fdec4106ac66f8825daff6bdf841f567990c9007952faff42ab6355b5a112fdf338e9da19f510eb8ec1fa656d31a78f4677087f4ce8d0ea40f868acc3473187eecc88f741eb52816f5e9e791e8a2cb9f93905ffa494d82976953f4a821b59cdcfa39502f5277a7664a503d7202e61549ebbad9db474d0269de2fdffe193c0e97b6b67a3d8cef07258791d7ea0f4f99858de3bc8514ea2d19e647508b9a22e4fce4f072000d810546875f26ad1e8b23fcb942fe0a00c85602eb3626c1bbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootatomic-queue-0-0.3.red80.src.rpmatomic-queue-develatomic-queue-devel(x86-32)atomic-queue-static    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)3.0.4-14.6.0-14.0-15.4.18-14.18.0d"bgAlexandr Subbotin - 0-0.3Anton Fadeev - 0:0-0- Build for red80- Initial build 0-0.3.red800-0.3.red800-0.3.red80atomic_queueatomic_queue.hatomic_queue_mutex.hbarrier.hdefs.hspinlock.hatomic-queue-develREADME.mdatomic-queue-develLICENSE/usr/include//usr/include/atomic_queue//usr/share/doc//usr/share/doc/atomic-queue-devel//usr/share/licenses//usr/share/licenses/atomic-queue-devel/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpiozstd19i686-redhat-linux-gnudirectoryASCII text, with very long lines (806)ASCII textutf-8dbaf982ed23ca7beab0d5925ebf591fd0fc71bea6a0036508b4cd5254df2741ad7651d0f9cba8597ee9b470eeb838a415cd8826bd8044d7ea2007fde84cea5f3?`(/h%hj 23Dʮ2"kwu4+>}dqF@]; &( (d2OzM1l4ְ'S3L]9^m/T`ml0_|V@tzM6 4* (f:MP`,'/ʮ$[sfȧ\\!OՂ`qT8Ϡ%z"]AʺzH9e1Zѵu]5xmCMw:ײ!)ZNeVp? Ϛ;,C~<0H@iv1qRh ʢ+mMͮ*ԣΏiꅦ*iO )5 ތRc~\X+E=LI>uk?CI.mrO=~o*9X$e{3-ӭ;u ډolNjI_ڿ/s*OvZADSY3Ly"Pvu9%yl~]UKqu JDC"CDL6zДɌvvO% }A/x_toqu?o}#/G%v=dG~v8 t;(ÁGq~L.] :X)_z~2B^W`4v]ԗI7i8}U}vijHN'x8dMͩ7ZLc+-H6&RL(" b4f鮣9Jzj&su֚f͞44̖8gfx2?g⤠s.R~Ʈ=dCqQBؘ$LʮZ%XMbpS.LA^ Df|F_04J$yqV6E2#iubt7z1 UbyQń: .OǴC$[1C[Z"9-)LKcAiD cy%x6@0:&HS*ŕSHADTH@h8qU"@l"Hpr9א_:'|,^@U($\ĎZК9aIp ( lbGS"8q:owDeӨJ?~si㩩 Hx*b$ACb`˽i"H EΏK0 >p#|YF46ɻ.}JJw:Ճ/D"D۫/a9Z;ӛUK~o캶_=ue[-IaqWf}IxP<^b_8g1$zb[֤SdYr~66 i;eK"}rjo\[?a(toT ݥ/1%;rVe>IV̠]bq7|^lqQ{6&AM㷜vR S~m)IqA;`n>dnVR ^34Fsd8=\2MGx|*dhhKOxځֱ|Z y(4 @T4Hә6unb[oH:^U;~:(ԟwRVyG+ H@'+ <2q!VIp,5%%e|/a0W _ ãkYzI˲[EغFZL9D ]=SL_ՇVtQYc=IxWG-H86U,9ҟcþ#jkEfYt^*]N!6IiDxe 4rN?<<])Y>Xiק׬rMrZŅ,<@<(UM'3s*(tͤAZ"_hsߞ\}l:N򜶿O8̷Tfx~EQ$G-J[OXn ?vM0}(!J~ $ RQU~省A""0ݬĐzDR+3Fԛ,_?vuDұN{pa*2u0 Z:w*|'Jcҽ]5ұtn :>yԸf9O֍sd5 @dc$`!B)G08!F%Ee[dpkɌ`gB=09Tyv8YdbMII\JCLE[*3fZ<EӅДEr"抹# (;BkGUC&:"M=aQ;0Wh]n$otp4WkYE ]*U "t/PHc4R, <+=#6{@愜}G309 LZ@IZ3ǥ9J%A;A$ L&C.`ަ.iؤAîyŌn!* olfGFKL7"hBa (ےދIzx"+fȦ:e3A}~.Sj@nh4f4(m-kLxu`z@!Dj{<L rq: ++ ;35G)-/'6 d 14~bꀾU%IU(I떳zqF鮟r j_gڡE};67ƟԞ l䓧bK1WR Q.6y:p]Ku9T $3tS,>y/ɊNz8k0$KX6x2B ,TH-zI;=c{'e_ݼC~dUJ,<`[`2/Z@v'EW?r TAO#dM XIpYޔ5ϪW)>TWPJupD/o0#u`TZo XK-7fyx;QMd೒o2,jU,J ن.j۫.ߋƀmՀ svW½C{#EڔŲF׿ԜCݻ+pA\ʦ)YwJDU:> i*HP'GR};[":Z*f/fjps6fF5adWE3rNR QZKk0~-8tTmHx9Կ V*HP5@KQha=ZY~&*vc܏w};3/#VfX:}VjSf :|ݍ7|Њc+<΅?$ O!DŽ=OLjjfep@[?V q |$SoV ňaZx,%?,+pmK' :xB%*7Bv+Uh̉6 9(% xEKtCXvnhϹ9wY RPϪqZL8 bҪޭ03#ӂY&6C 11h00yM <(PY[ j Ag$* <;@$6I8{`b`,*͜T#ٖ /;r<kkY xbHj'`׮"ra†D wu[("60Ghb]!MEGQD#>64iׯsPk9GvZGkrc'T{ d# Ge'@pd _(9݃5 2uPOx5 _!L $eCrIq*lZڎetl`@N^%x[kQƥ&s')<oDeW"/KЈFI@AW#LU(ٲy/*Kl|O~+,; !ڲy:&i?^T :b:8h: KJl~ncS&@v#]%Y J)'x@ֻGW}76ÁirC89 ݸOWRWezR@FPHMUFBT4'bA1 9Uͨ,x:OŚ-Se= }L,F9H XAzf$G_љ~T4}OJ0#\(SPc>`8,}P.R aDȠuaˆלfaRv"i};U:/q^!.HKD˿kׁO!g=a|"-!{k3EnF_@:]:xn x {Fݧa#6d+yh4CC<)#ҒoŰxg; `d G" *3_y?0@clՂYG3{5%\:)QF\5}-X8{γVq _XDU *gP҆Ƙ+,UA%*KBk +a @E mS㸑v(@IG|ު|םKYx+ Y0T5{k;haͥ,s$:ҟIO3VCnsǴEį ϣD5ꃪ8P&ͽhБ)a":>ICHYM_j :{ Tێ"RWÄ-5Y񧮏A>dݨJr6@;MCecvo#Aq'/M_sa><`Wȴ1eB̠mCEj8Q.$ bD8ݝwRL& ]Ss)KS!"Z9'X*ܜ$JMـ'֗OM& *‘ܱO3qUo(lc@]g !˜ {b ȠH9'H{a{c,v+‹8QuZ& ak-Ou R Z+)(y |K(?X;z"E~][WT&eHM0U*RjRSQj*\b33l-J.l45hvQ~wݥqRq)=ܫk|RZc=ʏh4vEh"uxmVaG'\OoҾ8$;x׏I\g.yDw%v|<\麯G/$‰D8u;D&-O`+jII!uƢDɢ]% κKQ0)KTnB(5ٵQ?ߒv?BM=b:[2/5^>{CSoEG&:UP@t}9#z@(̺v `**$l{ "Fs٘lKK,&1Oҫ'8 ˀY0|Ezғ.؃}M6XwXOe>RH;=ob{pcivOF4LĠLi0fѧ*cL%ɤ\X S o[P F4hc5ddYtӢPl&ujSs{:>"u'HU$U (db*-ӟt+ v~֠Qmr0R:Yl-sI%i"S#@PuaorI-o 饺 I1=ok<~\[Ý1(J֪!i|WrN!X w"'g \, si,i37AzR.58(ΤJ+ z''t$5缕U=,"!TcA%}tX⠭F {i9 $u9:c7^҂TYDu-IEA%{ JL'#𱭱A|LsF}(8"#l<̚>g=c( +fd{s>"L@kħlr47C ?DQ掾ro0]jKU'.hL;({?86Uqǽ2Yzη:{~Qw3qT ~S_|Aya;YXgjoUt79Jq7J&4='I#,l>eɈ%-б&J iy乽dQĮSlf,[Bk؂t͓{*lYZ+Ih75Rbsq]W/B'VP]MIE9 H_-W[*`vJ@mGdCcՒM[L=;wRuϤOVX?4YAԗcFPc04K^x %ghT \pU*͝啘:w5 `#n, Fh' xݷL.Ϯڤ$s+"8ve)7VA "ڢ17v9tV`es)IlGtYg8 JIv5R2߸hgrPw_ %$n ?>? ώB3&Vɿ ːc H>nH&\=*sVlGt8l4ȕrvbYN0K Id;>o4<=ћ?̓SkF[!nw5@ έɀi4[H[o-rDKfx'% [EKe 㣄ǟ[nCHE|ѻ+$ ic ߞu9`nP'sd85[Đ3)a識c0OweupZ.G˗Wx,^#kj8 9beg؞J1TV,` ՝W.C#la*mN6Zr l=n {H%Mx 6k|^_Y{ڞyC_Vg~Bѳ^ S3&q5k0:!F\8ME%cXeWhKk%ȶ#pD%ՎVo勘 gaf]Yaֳ*[!0r2VB$B\PEъgFڂ@K`$4I*O_G\"s+`hZRYsr,zB?\"X|XUR BYRQXa7OF 57% E㍛?쮿Z/Gbp ,P~FHM`?@Ka.(4x_Tソ}qP]\]EgJ42 -־9T8X`^y5Wځ~Gx= )=6'a)# sӝOl##/{U)5͹n-Eh\SZS`Gjb)D 4YPF)":#.-d *i=g S6/Aydl„/b eŅͣQg64X%V{ *zQ5o,})U_Ҹ<2pSE D#7aK _~965@o=L#Gv 4^Hjak