[adr] BiDi low-level definitions are generated from a shared spec model without orchestration#17701
[adr] BiDi low-level definitions are generated from a shared spec model without orchestration#17701titusfortner wants to merge 5 commits into
Conversation
PR Summary by QodoAdd ADR for generating BiDi low-level protocol definitions from shared spec model Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
11 rules 1. No binding-status section
|
|
Code review by qodo was updated up to the latest commit 4b3f61d |
|
Code review by qodo was updated up to the latest commit a49e5ab |
|
Code review by qodo was updated up to the latest commit 67b42c9 |
diemol
left a comment
There was a problem hiding this comment.
I was not aware of the consequences of each binding doing their own thing. I believe It makes sense to unify this.
|
I think to understand this better, I might beed an example of what the proposed shared spec model looks like. |
produces: |
|
Code review by qodo was updated up to the latest commit 6ce1f6e |
|
After the update you made, I now understand what this ADR is trying to address. I think it makes sense. For most part of JS CDDL generation , it follows this ADR. The manifest only has some convenience methods that hand-written code created, mainly to maintain backward compatibility (which we can remove to align with this ADR once the TLC agrees on it). |
|
I only wonder where the access to unsubscribing to an event should live. |
|
The subscribe/unsubscribe commands are in the spec, so they're generated like any other command and directly callable on the generated module. What lives outside the generated code is the management: holding the subscription id, mapping it to a handler, and the cancellation behavior we want. The shape of that orchestration is decided elsewhere. |
|
As far as the JS implementation, the schema from #17700 would be a replacement for cddl2ts and require less follow-up work. Haven't looked into it in much detail, but that's the idea is that it is better shaped for what we need. |
Thank you! I will look into JS and update things for JS accordingly. |
|
I'm gonna close this in favor of #17786 |
📄 The decision, its rationale, considered options, and consequences are in the record file
this PR adds; read it there. The sections below are proposal notes and review logistics.
🔗 Related
📝 Proposal notes
🗣 TLC discussion
Pending — not yet discussed.
📌 Tracking
Tracking issue: (linked on acceptance)