-
- Downloads
Make BER/CER/DER decodersstreaming and suspendible (#176)
The goal of this change is to make the decoder yielding on input data starvation and resuming from where it stopped whenever the caller decides to try again (hopefully making sure that some more input becomes available). This change makes it possible for the decoder to operate on streams of data (meaning that the entire DER blob might not be immediately available on input). On top of that, the decoder yields partially reconstructed ASN.1 object on input starvation making it possible for the caller to inspect what has been decoded so far and possibly consume partial ASN.1 data. All these new feature are natively available through `StreamingDecoder` class. Previously published API is implemented as a thin wrapper on top of that ensuring backward compatibility.
No related branches found
No related tags found
Showing
- CHANGES.rst 23 additions, 0 deletionsCHANGES.rst
- README.md 1 addition, 0 deletionsREADME.md
- pyasn1/codec/ber/decoder.py 845 additions, 461 deletionspyasn1/codec/ber/decoder.py
- pyasn1/codec/ber/encoder.py 37 additions, 17 deletionspyasn1/codec/ber/encoder.py
- pyasn1/codec/cer/decoder.py 49 additions, 21 deletionspyasn1/codec/cer/decoder.py
- pyasn1/codec/cer/encoder.py 17 additions, 7 deletionspyasn1/codec/cer/encoder.py
- pyasn1/codec/der/decoder.py 35 additions, 17 deletionspyasn1/codec/der/decoder.py
- pyasn1/codec/der/encoder.py 18 additions, 7 deletionspyasn1/codec/der/encoder.py
- pyasn1/codec/native/decoder.py 92 additions, 72 deletionspyasn1/codec/native/decoder.py
- pyasn1/codec/native/encoder.py 33 additions, 15 deletionspyasn1/codec/native/encoder.py
- pyasn1/codec/streaming.py 243 additions, 0 deletionspyasn1/codec/streaming.py
- pyasn1/error.py 41 additions, 0 deletionspyasn1/error.py
- tests/codec/__main__.py 2 additions, 1 deletiontests/codec/__main__.py
- tests/codec/ber/test_decoder.py 281 additions, 49 deletionstests/codec/ber/test_decoder.py
- tests/codec/ber/test_encoder.py 4 additions, 4 deletionstests/codec/ber/test_encoder.py
- tests/codec/cer/test_decoder.py 1 addition, 0 deletionstests/codec/cer/test_decoder.py
- tests/codec/cer/test_encoder.py 0 additions, 1 deletiontests/codec/cer/test_encoder.py
- tests/codec/test_streaming.py 75 additions, 0 deletionstests/codec/test_streaming.py
Loading
Please register or sign in to comment