L iddlZddlZddlZddlmZGddZGddejjZGddejjZ y) N)ForkingPicklerc(eZdZdZdZdZdZdZy)ConnectionWrapperz_Proxy class for _multiprocessing.Connection which uses ForkingPickler for object serialization.c||_yN)conn)selfrs a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torch/multiprocessing/queue.py__init__zConnectionWrapper.__init__ s  ctj}t|tjj ||j |jyr)ioBytesIOrpickleHIGHEST_PROTOCOLdump send_bytesgetvalue)r objbufs r sendzConnectionWrapper.sends:jjlsF33499#>  'r cL|j}tj|Sr) recv_bytesrloads)r rs r recvzConnectionWrapper.recvsoo||C  r cd|jvrt|j|Stdt |j d)Nr'z ' object has no attribute 'conn')__dict__getattrrAttributeErrortype__name__)r names r __getattr__zConnectionWrapper.__getattr__s? T]] "499d+ +qd!4!4 55UVWWr N)r" __module__ __qualname____doc__r rrr$r r rrsi( !Xr rceZdZfdZxZS)Queuect||i|t|j|_t|j|_|jj |_|jj|_yr) superr r_reader_writerr_sendr_recv)r argskwargs __class__s r r zQueue.__init__sW $)&)*;DLL*I *;DLL*I \\&& \\&& r )r"r%r&r __classcell__r3s@r r*r*s ''r r*ceZdZfdZxZS) SimpleQueuect|jts4t|j|_t|j|_t|yr) isinstancer-rr.r, _make_methods)r r3s r r:zSimpleQueue._make_methods's=$,,(9:.? .MDL.? .MDL r )r"r%r&r:r4r5s@r r7r7&s   r r7) rmultiprocessing.queuesmultiprocessingrmultiprocessing.reductionrrqueuesr*r7r(r r r?sM  4XX*'O " " ( (' /((44 r