+\h(ddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl Z ddl Z ddl mZmZmZmZmZejZGddeZGddeZGddeZy) N)QUIC_MAX_DATAGRAMBaseQuicConnectionBaseQuicManagerBaseQuicStream UnexpectedEOFcReZdZfdZdZdZd dZd dZdZdZ dZ d Z xZ S) SyncQuicStreamct|||tj|_tj |_yN)super__init__ threading Condition_wake_upLock_lock)self connection stream_id __class__s Q/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/dns/quic/_sync.pyr zSyncQuicStream.__init__s0 Y/!++- ^^% c~ |j|}|j5|jj|r dddy||_ddd|j 5|j j |stjj dddd|_#1swY\xYw#1swYxYw)Nr) _timeout_from_expirationr_bufferhave _expectingrwaitdns exceptionTimeout)ramount expirationtimeouts rwait_forzSyncQuicStream.wait_for#s33J?G )<<$$V, ) )#) ) 0}}))'2--///3 0 DO ) ) 0 0sB'B' 6B3'B03B<cb |j|}|j5|jjr dddy ddd|j5|jj |st jj ddd#1swYUxYw#1swYxYwr ) rrrseen_endrrrr r!)rr#r$s r wait_for_endzSyncQuicStream.wait_for_end/s33J?G <<((*  *  0}}))'2--///3 0    0 0sB6B%B"%B.cX|j|}|jjrA|j||j5|j j cdddS|jd||j5tjd|j jd\}ddd|j||j5|j j|cdddS#1swYyxYw#1swYXxYw#1swYyxYw)Nz!H) _expiration_from_timeout _connectionis_h3r(rrget_allr%structunpackget)rr$r#sizes rreceivezSyncQuicStream.receive9s227;    ! ! #   j ) .||++- . . MM!Z ( C --dll.>.>q.AB C MM$ + .||''- . . . . C C . .s$ D 2D#D DD D)ct|j|}|jj|j||yr ) _encapsulater,write _stream_id)rdatagramis_enddatas rsendzSyncQuicStream.sendGs.  * tf=rc|j||r0|j5|jjdddyy#1swYyxYwr )_common_add_inputrnotify)rr:r9s r _add_inputzSyncQuicStream._add_inputKsH  ! !$ / ' $$& ' ' 0 ' 's AA cf|j5|jdddy#1swYyxYwr )r_closers rclosezSyncQuicStream.closePs' ZZ  KKM   s'0c|Sr rBs r __enter__zSyncQuicStream.__enter__T rc|j|j5|jjdddy#1swYyxYwNF)rCrr>)rexc_typeexc_valexc_tbs r__exit__zSyncQuicStream.__exit__Ws8 ]] # MM " # #s AA r F) __name__ __module__ __qualname__r r%r(r3r;r?rCrFrM __classcell__rs@rr r s0&  0 .>' rr cteZdZfdZdZdZdZdZd dZd fd Z d fd Z d Z dd Z fd Z d ZxZS)SyncQuicConnectionct|||||||t|jtj d|_|jN |j jtjj|j|j|j j|jt j \|_|_|j$j'd|j j'dt)j*|_d|_t)j0|_y#t$r|j jwxYw)NrF)r r socket_factory_afsocket SOCK_DGRAM_socket_sourcebindrinetlow_level_address_tuple ExceptionrCconnect_peer socketpair _send_wakeup_receive_wakeup setblockingrEvent_handshake_complete_worker_threadrr)rraddressportsource source_portmanagerrs rr zSyncQuicConnection.__init___s WdFKQ%dhh0A0A1E << #  !!HH44T\\488L TZZ(4:4E4E4G1 D0 ((/   '#,??#4 "^^%   ""$ s A E%E5c<d}|dkrz|dz } |jjt}|j5|j j ||jtjddd|dkryyy#t$rYywxYw#1swY xYw)Nr ) r[recvrBlockingIOErrorrr,receive_datagramrbtime)rcountr8s r_readzSyncQuicConnection._readrsbj QJE <<,,->? U  11(DJJ T U bj#   U UsB:B BBBc\ |jjd#t$rYywxYw)N )rerrrsrBs r _drain_wakeupz SyncQuicConnection._drain_wakeup}s7 $$))"-#  s  ++c tj}|j|jtj|j |j|j tj|j|js|jd\}}|j|}|D]\}}|j|j5|j|ddd|j|j5|jj!t#j"}dddD]!\}} |jj%|#|js|j5d|_ddd|jj)|j*j-y#1swYxYw#1swYxYw#t&$rYwxYw#1swYexYw#|j5d|_dddn #1swYnxYw|jj)|j*j-wxYw)NFT) selectorsDefaultSelectorregisterr[ EVENT_READrwrerz_done_get_timer_valuesselectr:r _handle_timer_handle_eventsr,datagrams_to_sendrur;rsrCrhset) rselr#intervalitemskey_ datagramsr8s r_workerzSyncQuicConnection._workers +++-C LLy';';TZZ H LL--y/C/CTEWEW Xjj)-)?)?)F&X 8,#FCHHJZZ3&&z23##%ZZP $ 0 0 B B499; OIP#,KHa ))(3jj" "!  " LL    $ $ ( ( *!33PP + " " "!  " " " LL    $ $ ( ( *sCG:G)$G: .G;G: G'G:G.G G:GG: G+(G:*G++G:.G7: IH IH! 6F6FFO%+%5%5%=7?7G7GF$4#+#8#8$*$5$5c4$@''**2C2C2P2PQ!%L)-):):5??)KL% & 1 1(--AVAV WX"D!%!2!25??!CD))%**e6F6FGE7<<#6#6#I#IJ((,,.E7<<#6#6#K#KLZZ&!%DJ&&E7<<#6#6#B#BCZZ@!]]..u?F@%%c40M 6 6LLLL DD&&@@sGM*&M7&N?&NN&&N**M47N N NN'*N3c|j5|jj|||ddd|jj dy#1swY%xYwN)rr,send_stream_datardr;)rrr:r9s rr6zSyncQuicConnection.writesN ZZ D    - -fdF C D w' D Ds AAc|j5t| |||ddd|r|jj dyy#1swY(xYwr)rr send_headersrdr;)rrrr9rs rrzSyncQuicConnection.send_headerssL ZZ = G GV < =     " "7 +  = = AAc|j5t| |||ddd|r|jj dyy#1swY(xYwr)rr send_datardr;)rrr:r9rs rrzSyncQuicConnection.send_datasL ZZ 7 G iv 6 7     " "7 +  7 7rc|jrytj|j|_|jj y)N)target)_closedrThreadrristartrBs rrunzSyncQuicConnection.runs5 << '..dllC !!#rcD|jj|stjj|j 5|j rt|jjd}t||}||j|<ddd|S#1swYSxYwrI) rhrrr r!rrrr,get_next_available_stream_idr r)rr$rrs r make_streamzSyncQuicConnection.make_streams'',,W5--'' ' ZZ .zz##((EEeLI#D)4F'-DMM) $  .   .  s A BBcf|j5t| |dddy#1swYyxYwr )rr close_stream)rrrs rrzSyncQuicConnection.close_streams, ZZ , G  + , , ,s'0c|j5|jr dddy|jj|jd|jdd|_|j j |jjdddd|jjy#1swY$xYw)NrrqTr) rr_managerclosedrbr,rCrdr;rijoinrBs rrCzSyncQuicConnection.closes ZZ ,|| , , MM A 1 >DL    " " $    " "7 +  ,   " , ,sB9A2B99CrNr )rOrPrQr rwrzrrr6rrrrrrCrRrSs@rrUrU^sA&& U+8'1R( , , $ ,#rrUcxeZdZdejddffd Z d dZfdZfdZfdZ dZ d Z xZ S) SyncQuicManagerNFcft|||t||tj|_yr )r r rUrrr)rconf verify_mode server_namerrs rr zSyncQuicManager.__init__s) {,> RP^^% rc |j5|j||||||\}}|r|j|cdddS#1swYyxYwr )r_connectr) rrjrkrlrmwant_session_ticket want_tokenrrs rrazSyncQuicManager.connectsSZZ "&--v{4G# Z     s -AA ch|j5t| ||dddy#1swYyxYwr )rr r)rrjrkrs rrzSyncQuicManager.closeds- ZZ * GN7D ) * * *s(1cj|j5t| |||dddy#1swYyxYwr )rr save_session_ticket)rrjrkticketrs rrz#SyncQuicManager.save_session_tickets0 ZZ ? G 'v > ? ? ?)2cj|j5t| |||dddy#1swYyxYwr )rr save_token)rrjrktokenrs rrzSyncQuicManager.save_tokens0 ZZ 5 G we 4 5 5 5rc|Sr rErBs rrFzSyncQuicManager.__enter__rGrcxt|jj}|D]}|jyrI)list _connectionsvaluesrC)rrJrKrL connectionsrs rrMzSyncQuicManager.__exit__!s;4,,3356 % J     r)iUNrTT) rOrPrQssl CERT_REQUIREDr rarrrrFrMrRrSs@rrrsFS%6%6DU& "*?5rr)r|rYrr/rruaioquic.quic.configurationraioquic.quic.connectionaioquic.quic.events dns.exceptionrdns.inetdns.quic._commonrrrrrrWr rUrrErrrsf  !>^>BY#+Y#x-o-r