[Lldb-commits] [lldb] [lldb-dap] Updating RequestHandler to encode/decode arguments and response. (PR #130090)
John Harrison via lldb-commits
lldb-commits at lists.llvm.org
Fri Mar 14 17:16:22 PDT 2025
================
@@ -30,216 +30,170 @@ namespace lldb_dap::protocol {
// MARK: Base Protocol
-// "Request": {
-// "allOf": [ { "$ref": "#/definitions/ProtocolMessage" }, {
-// "type": "object",
-// "description": "A client or debug adapter initiated request.",
-// "properties": {
-// "type": {
-// "type": "string",
-// "enum": [ "request" ]
-// },
-// "command": {
-// "type": "string",
-// "description": "The command to execute."
-// },
-// "arguments": {
-// "type": [ "array", "boolean", "integer", "null", "number" , "object",
-// "string" ], "description": "Object containing arguments for the
-// command."
-// }
-// },
-// "required": [ "type", "command" ]
-// }]
-// },
+/// A client or debug adapter initiated request.
struct Request {
+ /// Sequence number of the message (also known as message ID). The `seq` for
+ /// the first message sent by a client or debug adapter is 1, and for each
+ /// subsequent message is 1 greater than the previous message sent by that
+ /// actor. `seq` can be used to order requests, responses, and events, and to
+ /// associate requests with their corresponding responses. For protocol
+ /// messages of type `request` the sequence number can be used to cancel the
+ /// request.
int64_t seq;
+
+ /// The command to execute.
std::string command;
+
+ /// Object containing arguments for the command.
std::optional<llvm::json::Value> rawArguments;
----------------
ashgti wrote:
Added a comment and removed the `raw` prefix from these. I think your right that its not as clear that these map the the corresponding JSON fields.
https://github.com/llvm/llvm-project/pull/130090
More information about the lldb-commits
mailing list