选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
3 7²ef ã @sRdZddlZddlZy ddlZWnek r<ddlZYnXGdd„deƒZdS)zManage the forwarder process.éNc@s<eZdZdZddd„Zdd„Zddd „Zd d „Zd d „ZdS)Ú Forwarderz'Forwards digest to remote pyzor serversé'cCs(tjdƒ|_||_tj|ƒ|_||_dS)a 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 ZpyzordN)ÚloggingZ getLoggerÚlogÚforwarding_clientÚQueueÚ forward_queueÚremote_servers)Úselfrr Zmax_queue_size©r ú/usr/lib/python3.6/forwarder.pyÚ__init__s  zForwarder.__init__cCs¶x°y|jjddd�\}}Wn&tjk r@|jdkr:dSwYnXxj|jD]`}y&|rd|jj||ƒn|jj||ƒWqJtk r¨}z|j j d|||ƒWYdd}~XqJXqJWqWdS)z'read forwarding requests from the queueTé)ÚblockZtimeoutNz%Forwarding digest %s to %s failed: %s) rÚgetrZEmptyrr Ú whitelistZreportÚ ExceptionrZwarning)r ÚdigestrZserverZexr r r Ú _forward_loops   zForwarder._forward_loopFc Cs>|jdkrdSy|jj||fƒWntjk r8YnXdS)zÐIf 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)rrZ put_nowaitrZFull)r rrr r r Úqueue_forward_request5s  zForwarder.queue_forward_requestcCstj|jd�jƒdS)zstart the forwarding thread)ÚtargetN)Ú threadingZThreadrÚstart)r r r r Ústart_forwardingBszForwarder.start_forwardingcCs d|_dS)z?disable forwarding and tell the forwarding thread to end itselfN)r)r r r r Ústop_forwardingFszForwarder.stop_forwardingN)r)F) Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrrrr r r r r s   r)rrrrÚ ImportErrorZqueueÚobjectrr r r r Ús