From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MzYdq-0000Ks-32 for qemu-devel@nongnu.org; Sun, 18 Oct 2009 12:29:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MzYdl-0000Ih-Hj for qemu-devel@nongnu.org; Sun, 18 Oct 2009 12:29:57 -0400 Received: from [199.232.76.173] (port=49181 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MzYdl-0000IZ-ES for qemu-devel@nongnu.org; Sun, 18 Oct 2009 12:29:53 -0400 Received: from mail-yx0-f188.google.com ([209.85.210.188]:62615) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MzYdl-0001r5-5X for qemu-devel@nongnu.org; Sun, 18 Oct 2009 12:29:53 -0400 Received: by yxe26 with SMTP id 26so3021311yxe.4 for ; Sun, 18 Oct 2009 09:29:52 -0700 (PDT) Message-ID: <4ADB427D.4080409@codemonkey.ws> Date: Sun, 18 Oct 2009 11:29:49 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH 01/10] Introduce qmisc module References: <1255037747-3340-1-git-send-email-lcapitulino@redhat.com> <1255037747-3340-2-git-send-email-lcapitulino@redhat.com> <4AD72B88.2040107@codemonkey.ws> <20091015122622.1f93ea2d@doriath> <20091015163936.GB532@redhat.com> <20091015142837.6c90580a@doriath> <4AD76B3C.3050001@codemonkey.ws> <4AD87424.3010000@redhat.com> <4AD87901.5030705@codemonkey.ws> <4AD8AECE.9000507@redhat.com> <4AD8AFA4.4070203@codemonkey.ws> <4AD8CB31.9080809@redhat.com> <4AD8E7B5.8000509@codemonkey.ws> <4AD910BA.4090607@gnu.org> <4AD922EB.5030501@codemonkey.ws> <4AD995FD.6070202@snarc.org> <20091018120631.0ab44d80@doriath> <4ADB2EF5.3040108@snarc.org> In-Reply-To: <4ADB2EF5.3040108@snarc.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vincent Hanquez Cc: Paolo Bonzini , qemu-devel@nongnu.org, Luiz Capitulino Vincent Hanquez wrote: > I can't think of any reason why integration with qobject would take > more than 50 lines of C on the user side of the library. > since the API is completely SAX like (i call it SAJ for obvious > reason), you get callback entering/leaving object/array > and callback for every values (string, int, float, null, true, false) > as a char * + length. for exactly the same reason, integration with > glib would take the same 50 lines "effort". > > note that FTR, obviously i'ld like to have my library used, but i'm > happy that any library that is *fully* JSON compliant is used (no > extensions however since you're obviously loosing the benefit of using > JSON if you create extensions). We need two sets of extensions for use within qemu. Single quoted strings and varargs support. While single quoted strings would be easy to add to any library, vararg support is a bit more tricky as you need to carefully consider where you pop from the varargs list. A simple sprintf() isn't sufficient for embedding QObjects. When generating on-the-wire response traffic, we shouldn't use any of the extensions so it will be 100% json.org compliant. I'm pretty sure if you tried to duplicate the functionality of my patches, it would be much more than 50 lines. That's not saying it's a better json parser, just that we're looking for very particular features from it. Regards, Anthony Liguori