O+tGddeZGddeZGddeZGddZdS) ceZdZdS)LineBufferOverflowN__name__ __module__ __qualname__Q/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/buffer.pyrrDr rc4eZdZdZdZdZdZdZdZdZ dS) LineBufferz Allows to accumulate data, and than iterate over it getting tokens split by line breaks ' '. If at the end there is no line break, the data will sit in the line buffer until more data with line break comes in. cd|_dSNbufselfs r __init__zLineBuffer.__init__ r ct|jt|z|jkr.d|_td|j|xj|z c_dS)Nrz,LineBuffer exceeded maximum size of {} bytes)lenrMAX_SIZErformatrdatas r appendzLineBuffer.appendsi tx==3t99 $t} 4 4DH$>EEM  Dr c|SNrrs r __iter__zLineBuffer.__iter__ r c|jd}|dkr(|jd|}|j|dzd|_|St)N )rfind StopIteration)rposresults r __next__zLineBuffer.__next__sNhmmD!! "99Xae_Fxa *DHMr cd|_dSrrrs r cleanzLineBuffer.clean'rr N) rrr__doc__rrrr!r,r.rr r r r sp Hr r ceZdZdS)SizeBufferOverflowNrrr r r1r1+r r r1c,eZdZdZddZdZdZdZdS) SizeBufferrc"d|_||_dS)Nr )_buf _size_len)rsize_lens r rzSizeBuffer.__init__2s !r ct|jt|z|jkr.d|_td|j|xj|z c_dS)Nr z,SizeBuffer exceeded maximum size of {} bytes)rr6rr1rrs r rzSizeBuffer.append6si ty>>CII % 5 5DI$>EEM  T r c|Sr rrs r r!zSizeBuffer.__iter__@r"r cD|jstt|jd|jd}t |j|jd|kr:|j|j|j|z}|j|j|zd|_|St)Nbig)r6r)int from_bytesr7r)rsizers r r,zSizeBuffer.__next__Csy  ~~di(8$.(895AA ty))* + +t 3 39T^dnt.CCDD $.4"7"9"9:DIKr N)r4)rrrrrrr!r,rr r r3r3/sZH""""r r3N) Exceptionrobjectr r1r3rr r rBs        ########L        r