Repository navigation
docs(sdo): configure aligned write buffering for block downloads - #682
Open
timothyanderson096-ocdealcheck wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The block-download example reads 1024-byte input chunks while implicitly using a 1024-byte write buffer. Specify
buffering=7 * 1024, keep the input reads, and fix the missing multilinewithcontinuation so the literal example parses.Addresses #618. This follows @christiansandberg's aligned-buffer guidance in #379 and @acolomb's decision when closing that issue. Thanks to @DrJMH for the #618 trace and @Jef-GB for the earlier report. Only
doc/sdo.rstchanges; runtime code and default buffering remain unchanged.Validation recorded 25 October 2026, Linux / CPython 3.12.14 / python-can 4.6.1: the original literal example fails syntax parsing. A separate syntactically valid reproduction through the real Network/SdoClient/BufferedWriter path fails after 2044 payload bytes and emits premature DD with default buffer/read size 1024; six configuration controls pass. The corrected actual RST example executes 10 cases, independently rerun: sizes 1, 7, 1024, 7168 and 34680 with CRC off/on. Full base suite 280 passed, one optional-export skip; export-enabled 281 passed; docs build succeeds. Optional mypy retains 44 inherited errors in seven files, exit 1.
The in-memory endpoint checks exact bytes, sequence/final-unused count and CRC. Synthetic data substitutes for unavailable original firmware; its failure response differs from the embedded trace. This matches the client stopping point/premature command, not a hardware replay. Empty/unknown-size streams, arbitrary partial-I/O/backpressure, retransmission, varying block sizes, Win11/STM32/PCAN hardware and the minimum-version matrix remain unvalidated. Python 3.9 grammar was checked; execution used 3.12.
On 27 October, public head
3d2a8275b4da1f40abc020268a5f45b3dec2758ahas tree0764943ae051e69c90b58e9a43106f5038509542, exactly matching clean testedba01dd9on unchanged master14b3336. Saved archive identity, test results and independent review were checked during publication preparation; no fresh project suite rerun is claimed. Closed/unmerged #384's runtime design is not incorporated; current #559/#359 work is separate from this documentation correction.Prepared with AI assistance and independent inspection during original preparation.
Timothy Anderson — Spotted Ridge Engineering / OC Labs
Independent software verification · GDN (Global Decision Network)
timothyanderson096@gmail.com · Engineering evidence