Comments
Patch
@@ -146,6 +146,15 @@ The format is:
For a listing of supported asynchronous events, please, refer to the
qmp-events.txt file.
+2.6 Complex object classes
+--------------------------
+
+JSON objects that contain the key-value pair '"__class__": json-string' are
+reserved for QMP-specific complex object classes that. QMP specifies which
+further keys each of these objects include and how they are encoded.
+
+So far, no complex object class is specified.
+
3. QMP Examples
===============
@@ -229,9 +238,10 @@ avoid modifying QMP. Both upstream and downstream need to take care to
preserve long-term compatibility and interoperability.
To help with that, QMP reserves JSON object member names beginning with
-'__' (double underscore) for downstream use ("downstream names"). This
-means upstream will never use any downstream names for its commands,
-arguments, errors, asynchronous events, and so forth.
+'__' (double underscore) for downstream use ("downstream names"). Downstream
+names MUST NOT end with '__' as this pattern is reserved for QMP-defined JSON
+object classes. Upstream will never use any downstream names for its
+commands, arguments, errors, asynchronous events, and so forth.
Any new names downstream wishes to add must begin with '__'. To
ensure compatibility with other downstreams, it is strongly