feat: S08.11 switching_transport BDD scenario (UDP↔TCP) on QEMU#344
Conversation
Wire BddTargetSwitchConfig_SetByName as the onSwitch callback in the FreeRTOS BDD target so the runtime `switch tcp` / `switch udp` UART commands flip the SwitchingSender's active inner, matching the Linux and Windows targets. Tag the non-@tls switching_transport scenario @udp @tcp so the bdd-freertos-qemu (@udp or @tcp) admission clause picks it up; the @tls sibling stays excluded until S08.07. Closes #340. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe PR completes the S08.11 switching-transport work by wiring the FreeRTOS BDD target's interactive UART command handler to the runtime transport selector, enabling ChangesInteractive Transport Switching on FreeRTOS
Possibly related issues
Possibly related PRs
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
DEVLOG.md (1)
48-49: ⚡ Quick winKeep
INTERACTIVE_TASK_STACK_DEPTHon one line for grepability.Splitting the symbol into
INTERACTIVE_TASK_+STACK_DEPTHmakes searching and cross-referencing harder in follow-up debugging/docs work.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@DEVLOG.md` around lines 48 - 49, The documentation split the symbol into `INTERACTIVE_TASK_` and `STACK_DEPTH`, which breaks grepability; restore the identifier to a single token `INTERACTIVE_TASK_STACK_DEPTH` on one line in the DEVLOG entry so searches and cross-references find the symbol reliably (edit the text fragment containing `INTERACTIVE_TASK_ STACK_DEPTH` and concatenate it back to `INTERACTIVE_TASK_STACK_DEPTH`).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@DEVLOG.md`:
- Around line 48-49: The documentation split the symbol into `INTERACTIVE_TASK_`
and `STACK_DEPTH`, which breaks grepability; restore the identifier to a single
token `INTERACTIVE_TASK_STACK_DEPTH` on one line in the DEVLOG entry so searches
and cross-references find the symbol reliably (edit the text fragment containing
`INTERACTIVE_TASK_ STACK_DEPTH` and concatenate it back to
`INTERACTIVE_TASK_STACK_DEPTH`).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: acc0819d-5f9a-4048-b922-1f33f1df147f
📒 Files selected for processing (6)
Bdd/Targets/FreeRtos/README.mdBdd/Targets/FreeRtos/main.cBdd/features/switching_transport.featureCLAUDE.mdDEVLOG.mdci/docker-compose.bdd.yml
☀️ Quality Summary 🚦 build-linux-gcc: 100% successful (✔️ 1111 passed, 🙈 3 skipped) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
Summary
BddTargetSwitchConfig_SetByNameas theonSwitchcallback in the FreeRTOS BDD target so theswitch <transport>UART command flips the SwitchingSender at runtime (mirrors Linux/Windows targets)@tlsswitching_transportscenario@udp @tcpsobdd-freertos-qemu's(@udp or @tcp)clause admits it;@tlssibling stays excluded until S08.07SolidSyslogFreeRtosTcpStream.h,SolidSyslogStreamSender.hrow lists FreeRTOS-Plus-TCP;Bdd/Targets/FreeRtos/README.mdnotes the switching sender +switchcommandCloses #340. Final slice of S08.06 (#271).
Test plan
bdd-freertos-qemupasses the new admittedswitching_transport.featurenon-@tlsscenariotcp_transport+ S08.10tcp_reconnectscenarios stay green on FreeRTOSbdd-linux-syslog-ngandbdd-windows-otelunchanged (only feature-file change is a scenario-level tag addition — Linux/Windows tag filters don't require those tags)🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
Tests