wo4hddlZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z m Z mZddlmZeeZGdde e ZdS) N) getLogger) inactivity) MessageType Splittable) MessageSink MessageSourceexpect)recurring_checkceZdZejjZeej ddZ eej ddZ e e ffd Z dZdZdZd Zeejd Zd ZxZS) Accumulate%IMUNIFY360_AGGREGATE_MESSAGES_TIMEOUT<*IMUNIFY360_AGGREGATE_SHUTDOWN_SEND_TIMEOUT2c tjdi|||_||_t jt |_dS)N)super__init___period_shutdown_timeout collections defaultdictlist_data)selfperiodshutdown_timeoutkwargs __class__s W/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/accumulate.pyrzAccumulate.__init__sG ""6""" !1 ,T22 cK||_||_|jdkrdn<|t |j|j|_dS)Nr)_loop_sinkr create_taskr _flush_task)rloopsinks r create_sourcezAccumulate.create_source'sf  |q   D!!"L"?/$,"?"? "L"L"N"NOO r!cK||_dS)N)r#)rr(s r create_sinkzAccumulate.create_sink0s r!cK tj||jd{VdS#tj$rt d|j|ja|jtj tj 5|jd{VdddYdS#1swxYwYYdSYdSwxYw)Nz5Timeout (%ss) sending messages to server on shutdown.) asynciowait_forstopr TimeoutErrorloggererrorr'cancel contextlibsuppressCancelledErrorrs r shutdownzAccumulate.shutdown3sC %"499;;0FGG G G G G G G G G G# % % % LLG&   z% !!###()?@@%%*$$$$$$$%%%%%%%%%%%%%%%%%%%%&%% %s428A-C%C3 CC CC CCclKtd|j\|jt jt j5|jd{Vdddn #1swxYwYtd|d{VdS)NzAccumulate.stop cancel _taskzAccumulate.stop wait lock) r2infor'r4r5r6r.r7r&r8s r r0zAccumulate.stopAs 2333 : ! J     $W%;<< ! !j        ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! /000kkmmsA55A9<A9cDKt|jtr|jn|jf}|r`tjd5|D]"}|j||# ddddS#1swxYwYdSdS)N accumulate) isinstance LIST_CLASStuple do_accumulatertracktaskrappend)rmessage list_types list_types r collectzAccumulate.collectKs',e44 'G  $&   " " :!&&|44 : :!+::IJy)009999: : : : : : : : : : : : : : : : : : : : :s&BBBc K|j}tjt|_|D]\}}t |t r||n|f}|D]}t d|j dt|d |j ||d{Va#t$rtd||wxYwdS)NzPrepare z() for further processing)itemsz%s, %s)rrrrrJ issubclassrbatchedr2r;__name__lenr$process_message TypeErrorr3)r copy_datarGmessagesrLbatchs r r&zAccumulate._flushWsBJ  ,T22 #,??#4#4   Ixi44! !!(+++[  !   -y1--3u::---*44YYU5K5K5KLLLLLLLLLL LL9e<<<   s &*C(C9)rM __module__ __qualname__rProcessingOrderPOST_PROCESS_MESSAGEPROCESSING_ORDERintosenvirongetDEFAULT_AGGREGATE_TIMEOUTSHUTDOWN_SEND_TIMEOUTrr*r,r9r0r r AccumulatablerHr& __classcell__)rs@r r r s"2G # >CC!! C CRHH ). 3 3 3 3 3 3    % % % VK %&& : :'& :r!r )r.rr5rZloggingrdefence360agent.apir"defence360agent.contracts.messagesrr!defence360agent.contracts.pluginsrrr defence360agent.utilsr rMr2r rr!r rfs ******FFFFFFFF 211111 8  [[[[[m[[[[[r!