Skip to content

Conversation

@Alan-Jowett
Copy link
Member

This pull request introduces a comprehensive migration plan for transitioning the media streaming protocol from the legacy 5-byte START discovery model to a new, configurable 3-way handshake mechanism (SYN / SYN-ACK / ACK). The migration is designed to be backward compatible, with the new behavior gated behind a runtime flag, ensuring existing deployments are unaffected unless explicitly enabled. The plan details the steps, file locations, implementation guidance, and testing strategies required for a safe and incremental rollout.

The most important changes are:

Protocol and Handshake Implementation:

  • Introduces new ProtocolFlag constants (c_udpDatagramFlagSyn, c_udpDatagramFlagSynAck, c_udpDatagramFlagAck) and helper functions (MakeSynTask, MakeSynAckTask, MakeAckTask, ParseControlFrame) to support the new handshake, with implementations in ctsMediaStreamProtocol.hpp and ctsMediaStreamProtocol.cpp.
  • Updates send-side logic in ctsIOPatternMediaStream.cpp to optionally send a headered SYN control frame when the 3-way handshake is enabled, while preserving the legacy START behavior by default.
  • Modifies receive-side parsing and handshake state management to recognize new control frames, manage handshake state transitions, and maintain compatibility with connection-id datagrams.

**Configuration and Back

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant