Open
Description
From #79, we now have a way for DA's to start client sessions, which spawns new DA's.
However, for many cases, multiplexing the new sessions over the same DA connection is preferable. As a starting point, I suggest the following.
First, to modify StartDebuggingRequestArguments
to accept a connectionId?: number
.
interface StartDebuggingRequestArguments {
/**
* Requests that the new connection be multiplexed over the same transport
* as the parent session. If present, ProtocolMessages for the new session
* will have a corresponding `connectionId` property. It is not valid to use
* an ID already in use by an existing session.
*/
connectionId?: number;
Then to add a corresponding optional property on the protocol message.
interface ProtocolMessage {
/**
* If the current session was a child started via a `startDebugging` request,
* then this is set to the `connectionId` that was present in the `StartDebuggingRequestArguments`.
*/
connectionId?: number;
And of course add a capability in the InitializeRequestArguments
so DA's know whether this is supported
interface InitializeRequestArguments {
/**
* Whether the client supports `connectionId` in `StartDebuggingRequestArguments`
*/
supportsConnectionMultiplexing?: boolean;