On Thu, 18 Feb 2010 15:54:04 -0600 Anthony Liguori <anth...@codemonkey.ws> wrote:
> On 02/18/2010 02:24 PM, Luiz Capitulino wrote: > > Vendors might want to add their own extensions to QMP, as JSON itself > > (and several other protocols) allow this someway, I think QMP should > > allow too. > > > > We just have to choose a naming convention that is guaranteed not to > > clash with any future new commands, arguments, parameters and event > > names. > > > > Signed-off-by: Luiz Capitulino<lcapitul...@redhat.com> > > --- > > QMP/qmp-spec.txt | 23 +++++++++++++++++++++++ > > 1 files changed, 23 insertions(+), 0 deletions(-) > > > > diff --git a/QMP/qmp-spec.txt b/QMP/qmp-spec.txt > > index f3c0327..bc92c7e 100644 > > --- a/QMP/qmp-spec.txt > > +++ b/QMP/qmp-spec.txt > > @@ -215,3 +215,26 @@ Additionally, Clients must not assume any particular: > > - Order of json-object members or json-array elements > > - Amount of errors generated by a command, that is, new errors can be > > added > > to any existing command in newer versions of the Server > > + > > +6 Private Extensions > > +-------------------- > > + > > +QMP provides a special naming convention to allow the creation of > > independent > > +namespaces, which allows vendors to introduce private extensions to the > > +protocol. It is guaranteed that no future QMP version will expose any name > > +that follows this convention. > > + > > +Private extensions must be in the following format: > > + > > +v_NAMESPACE__NAME > > + > > + Where, > > + > > +- NAME is any argument, command, event or parameter name > > +- NAMESPACE is the namespace that NAME belongs to > > + > > +For example, the following command: > > + > > +v_ABC__insert > > + > > +Is called 'insert' and is part of the 'ABC' namespace. > > > > We need a bit more than just this. Here's my suggestion: I like it very much, feel free to apply.