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`  YFTc@shdZddlZddlZyddlZWnek rMddlZnXdefdYZdS(sManage the forwarder process.iNt ForwardercBsAeZdZddZdZedZdZdZRS(s'Forwards digest to remote pyzor serversi'cCs:tjd|_||_tj||_||_dS(s forward_client: a pyzor.client.Client instance to use as forwarding client remote_servers: a list of (hostname,port) tuples where digests should be forwarded to max_queue_size: max amount of queued digests tpyzordN(tloggingt getLoggertlogtforwarding_clienttQueuet forward_queuetremote_servers(tselfRRtmax_queue_size((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pyt__init__s  cCsxtry%|jjdtdd\}}Wn*tjk rZ|jdkrdSqnXxs|jD]h}y3|r|jj||n|jj ||Wqet k r}|j j d|||qeXqeWqWdS(s'read forwarding requests from the queuetblockttimeoutiNs%Forwarding digest %s to %s failed: %s( tTrueRtgetRtEmptyRtNoneRt whitelisttreportt ExceptionRtwarn(R tdigestRtservertex((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pyt _forward_loops   cCsH|jdkrdSy|jj||fWntjk rCnXdS(sIf forwarding is enabled, insert a digest into the forwarding queue if whitelist is True, the digest will be forwarded as whitelist request if the queue is full, the digest is dropped N(RRRt put_nowaitRtFull(R RR((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pytqueue_forward_request5s cCstjd|jjdS(sstart the forwarding threadttargetN(t threadingtThreadRtstart(R ((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pytstart_forwardingBscCs d|_dS(s?disable forwarding and tell the forwarding thread to end itselfN(RR(R ((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pytstop_forwardingFs( t__name__t __module__t__doc__R RtFalseRR!R"(((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pyR s   (R%RRRt ImportErrortqueuetobjectR(((s3/usr/lib/python2.7/site-packages/pyzor/forwarder.pyts