Honor asyncgen ag_closed and wasm BIO EOF - #8718
Conversation
Skip feed_tls([]) while rustls still has application data, matching the native SSL read EOF order. Assisted-by: Grok:grok-4.6
Keep ag_closed apart from a finished frame. aclose() sets it before GeneratorExit. asend() already-running closes the awaitable so it does not warn unawaited. Assisted-by: Grok:grok-4.6
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change separates async generator closure state from frame completion and updates related awaitable and finalizer behavior. It also delays TLS close-notify processing until buffered plaintext is consumed. ChangesAsync generator lifecycle
TLS EOF processing
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to No merge-blocking behavior issue was identified in the updated async-generator or TLS EOF handling. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 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 |

Follow-ups that missed the #8716 squash.
ag_closedis separate from a finished frame.aclose()sets it beforeGeneratorExit.asend()already-running closes the awaitable so it does not warn unawaited._sslpumpfeeds MemoryBIO EOF only when rustls has no pending plaintext.Assisted-by: Grok:grok-4.6
Summary by CodeRabbit