atomic-queue-devel-1.5-1.el8$>.!ҋ@)!#}>:?d  B         ! J P X              0P x(/889X:Gd H I XY\ ] ^b"dNeSfVlXtt u vDJCatomic-queue-devel1.51.el8Development files for atomic-queueC++14 multiple-producer-multiple-consumer lockless queues based on circular buffer with std::atomic. It has been developed, tested and benchmarked on Linux, but should support any C++14 platforms which implement 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. Move-only queue element types are fully supported. For example, a queue of std::unique_ptr elements would be AtomicQueue2B> or AtomicQueue2, CAPACITY>. The atomic-queue-devel package contains libraries and header files for developing applications that use atomic-queue.eVbuildvm-a64-15.iad2.fedoraproject.orgFedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://github.com/max0x7ba/atomic_queuelinuxnoarch` )Z1A큤A큤A큤eUneUneUneUneUneUneVeUneVeUn1b89ad82be28a38d922cc081d2c6bd28d0d0ee9d1b68dde0687ea18e7cf4dcb37e7de2fdec4106ac66f8825daff6bdf841f567990c9007952faff42ab6355b5a112fdf338e9da19f510eb8ec1fa656d31a78f4677087f4ce8d0ea40f868acc34435d8d81336f9d721e9ab4de55ea34df5a5784ebda0e1839443b80e2fa9ed221b59cdcfa39502f5277a7664a503d7202e61549ebbad9db474d0269de2fdffe19f4553ae434a7cf834f0e7201eb821e0dac7ddab89896f51314dfb055a378dfaf22e4fce4f072000d810546875f26ad1e8b23fcb942fe0a00c85602eb3626c1bbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootatomic-queue-1.5-1.el8.src.rpmatomic-queue-develatomic-queue-static    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3eV@d)n@c@c@c@a*@aaBenjamin A. Beasley - 1.5-1Benjamin A. Beasley - 1.4-1Benjamin A. Beasley - 1.1-1Benjamin A. Beasley - 1.0-4Benjamin A. Beasley - 1.0-3Benjamin A. Beasley - 1.0-2Benjamin A. Beasley - 1.0-1Benjamin A. Beasley - 0-0.1.20210816gitaa08199- Update to 1.5 (close RHBZ#2249919)- Update to 1.4 (close RHBZ#2183486)- Update to 1.1 (close RHBZ#2173288)- Indicate dirs. in files list with trailing slashes- Confirm that License is SPDX MIT (no License field change)- Let the devel subpackage be noarch- Update to 1.0 (close RHBZ#2030645)- Initial package for EPEL8 1.5-1.el81.5-1.el8atomic_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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectiondrpmxz2aarch64-redhat-linux-gnudirectoryC++ source, ASCII textASCII text, with very long linesASCII texthttps://bugz.fedoraproject.org/atomic-queueutf-8d322eaf2447271b603ce14f6bf7e389de95f9202deb9e44ed94c0deb57a71f80?`7zXZ !#,-k]"k%x2wc@)|x kdV IOJ V|4(,*~{u䉥Cݲ3lL)95^&Wrfi#\6^XSOz|hwOb=\0̣8ip[(51'Պ|P3]{~ 6ӾBF?<Òf/im]G͐\^BUc^C{$w4uzE/=a.Z~&F[c| cgM=I%W{Bvf/4V+yע+l !+qR#$[6$?7OLzsgI`b.Ea 92ëu@@ Gn\@ZUUg!{ qPP=.'P‰}Ǽ|:(JY#~W 2:M<۩޽(e[ cqlU_Yni߼"2"9 AhTpHQU9$ 4~m,[[ɋ f-FBlqL4džlVdY,Zx!Vx .RZJDa ":UXArVQbC5pi=3폁s^deC "VakoNuAm߈X28I5뛠mP{L~{]2ӂ+!*)Ǫ h(ƿD`[wa}`?4?فg|b Ox FUM׉+Vp eSHG%3Զ<N vyKTAu mv_{_Hx8D\2@b5{tqn]|Zlj(PIra.hH6H".ԋ7(U5X|釺˚`FūP0%mVJn >fv=:_hXMޝ UH >@/&a2B7(@H09#]s Hd2R{TЩr7Zz'v`kNcY{Ď+lȢ]rz=N,P'#0Q!R4+l4}Ry^g7\\[8Ƕ#xKǀ\|THp*sԆ*Qv>ˉY2p49-Ӕq\ɈynJ+myj{䙟2&Fٙò^mܲ>7P`C]@j,U><~v dy5?8R8Vz# G@r|kcTOQհǩrCEdByX h.3OQ0g1s4*gTI?͑/zCU9-RZfypaA.Gd<\yz{-Tvh ۆ0{anP}l$ @Kr=Kʪުbc|ng+f(!:.<JM xVh1sAkkz?8ddCCH^{4Qӻ%O=P8=J᱌BD2%mO0꧿PY[h@hQ}AǍN$%exxjPdD0kl {muA1߿e~$Ʃ@K^^k5Fsۡ>,hJtH Л mu6[CwOXsB:8KL@Rds/۹M#M[%s_o?zQ޶G,e^Ku:GÛEfbAwk0;,&$ѧ ^>uK LRFeBh]njJ"q7'8oM7 fi{[lN"{c"I;re m/B/L$jF[`R^IT&KtzV g鉎'bfyY F~7 Y"; 80Gi%Ce{@Ȱj8M;6w| sd3ZJi]`xM%+!M:TkA{c->!\6}>,^\\RPbl1!o9Ү(n|ԟ)4:M51-;nWe:MkC<|2Y1cƀ=];7kp_T/oy}ؙ à( c i^, lV1bӲErCe"o{u+ 'ɟ/`WZt^JNPI.^Cƿx\Wc~dž"w`AKTsrJ{63 \:~7"lQWt1t!;<;W?/F:6ߨeboKK' muހ琢ݻ{p&2Ja%\9#!?CϬi qZ0<,*8Gzp(]n .r7S]32"H<,="jT´?.W&>nEw%$^Brz՗9$,zh9*^^#҈M~$lm oܯ;nШvLW}l Ź}`U _w]Q]:}f8tL 5aߜsL쮼2YVd5t]R«]b !n-A318Bo?pjIh*$ƶp} ئs*M+rg(VàJnc\4-ͨ\swJ8{fUTd-B{[%@[B'c$C,}g"916v?\ 'r)V# "*KrUm*t $Z$iȖ YZ