PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 pe@sGdddeZdS)c@sTeZdZdZdddZddZddZdd d Zd d Zd dZ ddZ ddZ dS) ResultQueuez If the aggregator can't be reached for some reason, we want to still keep calculating results and store them locally until we can reach the agg again.NcCs6g|_||_|jdkrd|_||_|jdkr2d|_dS)NiIi')dataqueue_max_resultsqueue_batch_size)selfrrr)/usr/lib/fm-agent/library/result_queue.py__init__ s  zResultQueue.__init__cCs|jjddS)N)rpop)rrrrr szResultQueue.popcCs|jjdS)N)rr )rrrr pop_latestszResultQueue.pop_latestcCsZ|dkr|j}t|j|kr*|j}g|_n,t|j|}|j|d}|jd||_|S)N)rlenr)rchunkresultxrrr pop_resultsszResultQueue.pop_resultscCs(t|j|jkr|j|jj|dS)N)r rrr append)rrrrrpush*szResultQueue.pushcCsbt|t|j|jkr&|jj|n8|jt|j}t||}|j|d|_|jj|dS)N)r rrextend)rresultsZ free_spaceZremovalrrrupdate/s  zResultQueue.updatecCst|jdkS)Nr )r r)rrrrisEmpty9szResultQueue.isEmptycCs t|jS)N)r r)rrrr queueLength<szResultQueue.queueLength)NN)N) __name__ __module__ __qualname____doc__rr r rrrrrrrrrrs   rN)objectrrrrrs