Skip to content

feat(mstsgu): add RPCH v2 channel recycling - #1831

Merged
Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
copilot/rpch-channel-recycling
Aug 29, 2026
Merged

feat(mstsgu): add RPCH v2 channel recycling#1831
Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
copilot/rpch-channel-recycling

Conversation

@mamoreau-devolutions

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Add wire codecs and ordering validation for v2 R1 recycling.

Retain canonical recycle state and reopen channels only after the final RTS action is sent. Keep transport execution separate, and use the typed output test channel required for workspace test compilation.

Add wire codecs and ordering validation for v2 R1 recycling.

Keep transport handoff separate; protocol errors terminate recycle state.
Copilot AI balanced review requested due to automatic review settings August 29, 2026 00:34
@github-actions github-actions Bot added maintainer-required Maintainer review or intervention is required risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny size/L Size: up to 899 counted lines and 20 files; exceeds M in either measure labels Aug 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds RPCH v2 R1 channel-recycling codecs and state validation to the MSTSGU protocol implementation.

Changes:

  • Adds IN/OUT recycling PDU codecs.
  • Adds recycling state machines and protocol-error handling.
  • Adds exact wire-vector and ordering tests.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
crates/ironrdp-mstsgu/src/rpc.rs Implements recycling codecs and state transitions.
crates/ironrdp-mstsgu/tests/rpch_v2.rs Tests wire encoding, state updates, and invalid ordering.

Comment thread crates/ironrdp-mstsgu/src/rpc.rs Outdated
Preserve updated cookies, flow-control state, and ping timeouts across recycling.\n\nKeep channels pending until their final RTS PDUs are sent.
Use the output channel wrapper required by consume_output in error-status tests.
@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) merged commit 35152e6 into master Aug 29, 2026
43 of 60 checks passed
@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) deleted the copilot/rpch-channel-recycling branch August 29, 2026 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-required Maintainer review or intervention is required risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny size/L Size: up to 899 counted lines and 20 files; exceeds M in either measure

Development

Successfully merging this pull request may close these issues.

2 participants