]> asedeno.scripts.mit.edu Git - cl-protobufs.git/log
cl-protobufs.git
11 years agoForgot the updated documentation
Scott McKay [Wed, 12 Sep 2012 22:06:09 +0000 (22:06 +0000)]
Forgot the updated documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@561802 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoFix some user-reported bugs
Scott McKay [Wed, 12 Sep 2012 19:09:46 +0000 (19:09 +0000)]
Fix some user-reported bugs

Testing : precheckin --full --strict-errors
Reviewer: Sergey V, Shaun M

JTB impact: No
Ops impact: No

Change to config                        : No
Change to XML schema                    : No
Change to DB schema                     : No
Change to transport (timeouts, headers) : No
Any change (or new use) of OAQs         : No
Change to inter-component transactions  : No
Depends on any other checkin / bug      : No

Tests that will verify:

The CL-Protobufs tests

Description:

I had made a "policy decision" that the package created
by importing a .proto file would (:use :common-lisp). In
practice, this turned out to be a mistake. Sergey suggested
a fix that I think is correct, so in it goes.

Shaun noticed that the optimized 'serialize-object' and
'object-size' methods didn't quite implement what they were
supposed to for optional boolean fields whose value was never
supplied. Fix the optimized methods to implement the same
(correct) semantics as the unoptimized ones.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@561714 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoAdd a more readable syntax for enum and field indices
Scott McKay [Mon, 10 Sep 2012 17:38:33 +0000 (17:38 +0000)]
Add a more readable syntax for enum and field indices

Testing : precheckin --full --strict-errors
Reviewer: Fare (please)

JTB impact: No
Ops impact: No

Change to config                        : No
Change to XML schema                    : No
Change to DB schema                     : No
Change to transport (timeouts, headers) : No
Any change (or new use) of OAQs         : No
Change to inter-component transactions  : No
Depends on any other checkin / bug      : No

Tests that will verify:

I extended the CL-Protobufs tests

Description:

Add a more readable syntax for enum and field indices.

For define-enum, it was (name value).
  Allow (name :index value).

For define-message, it was ((name index) ...).
  Allow (name :index index ...).
  Complain if both forms appear in the same field.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@561136 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoAdd a few missing features that aren't in any documentation.
Scott McKay [Fri, 7 Sep 2012 15:22:28 +0000 (15:22 +0000)]
Add a few missing features that aren't in any documentation.

Testing : precheckin --full --strict-errors
Reviewer: Fare (please)

JTB impact: No
Ops impact: No

Change to config                        : No
Change to XML schema                    : No
Change to DB schema                     : No
Change to transport (timeouts, headers) : No
Any change (or new use) of OAQs         : No
Change to inter-component transactions  : No
Depends on any other checkin / bug      : No

Tests that will verify:

I extended the CL-Protobufs examples

Description:

Add a few missing features that aren't in any documentation.

String literals can look like "foo"<whitespace>"bar".
 - Fix 'parse-string' to handle this.

Option values can be complex structures, not just atoms.
 - If 'parse-proto-option' sees a '{' character after the '=',
   it should use 'parse-text-format' to read the option value.
 - Fix the 'protobuf-option' printer to call 'print-text-format'
   for complex option values.
 - Minor refactoring to the text format parser and printer in
   order to support the above.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@560639 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoAdd stub support for streaming RPC APIs.
Scott McKay [Tue, 4 Sep 2012 18:36:57 +0000 (18:36 +0000)]
Add stub support for streaming RPC APIs.

Testing : precheckin --full --strict-errors
Reviewer: Fare (please)

JTB impact: No
Ops impact: No

Change to config                        : No
Change to XML schema                    : No
Change to DB schema                     : No
Change to transport (timeouts, headers) : No
Any change (or new use) of OAQs         : No
Change to inter-component transactions  : No
Depends on any other checkin / bug      : No

Tests that will verify:

I extended the CL-Protobufs tests

Description:

Add support for a 'streams' type in Protobufs RPC methods.
 - Add a few slots to 'protobufs-method'
 - Add '&key streams' to the method arglists in 'define-service'
 - Extend the parser to handle "streams" in addition to the
   'streams_type' option
 - Extend the printer
 - Change a test to use a 'streams' type
 - While we're in the neighborhood, allow an optional '=>'
   between the input and output methods in 'define-service';
   it makes it a bit more readable
 - Update the documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@560147 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoAdd type aliases to CL-Protobufs
Scott McKay [Fri, 31 Aug 2012 15:15:49 +0000 (15:15 +0000)]
Add type aliases to CL-Protobufs

Testing : precheckin --full --strict-errors
Reviewer: Fare (please)

JTB impact: No
Ops impact: No

Change to config                        : No
Change to XML schema                    : No
Change to DB schema                     : No
Change to transport (timeouts, headers) : No
Any change (or new use) of OAQs         : No
Change to inter-component transactions  : No
Depends on any other checkin / bug      : No

Tests that will verify:

The CL-Protobufs tests

Description:

Add type aliases to CL-Protobufs. It's a Lisp-only
feature that allows you define a new Protobufs type in
terms of a Lisp type, a serializer and a deserializer.
 - Add a new model class, 'protobuf-type-alias'.
 - Extend schemas and messages so that they can hold
   a set of type aliases; add 'find-type-alias'.
 - Add 'define-type-alias'.
 - Factor out 'lisp-type-to-protobuf-type' from
   'clos-type-to-protobuf-type', I need it for the
   'define-type-alias' macro.
 - Fix the schema printer to print 'define-type-alias'
   for .lisp schemas, and to add a comment describing
   the type alias in .proto schemas.
 - Extend the wire format (de)serializer to know
   about type aliases; it just (de)serializes the
   Lisp type as the Protobufs primitive type using
   the provided (de)serializer functions. There's
   zero cost to this if you don't use aliases.
 - Update the optimized serialization generation.
 - Similarly extend the text format (de)serializer
   to know about type aliases.
 - Change an example to use a type alias for 'date'.
 - Update the documentation.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@559861 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoLeft this out of yesterday's commit
Scott McKay [Wed, 29 Aug 2012 21:28:09 +0000 (21:28 +0000)]
Left this out of yesterday's commit

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@559563 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoEnums and enum values need to have proper qualified name handling, too.
Scott McKay [Tue, 28 Aug 2012 20:32:58 +0000 (20:32 +0000)]
Enums and enum values need to have proper qualified name handling, too.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@559296 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoLose the 'response' argument from the RPC stubs, it's not needed in Lisp
Scott McKay [Mon, 27 Aug 2012 20:58:19 +0000 (20:58 +0000)]
Lose the 'response' argument from the RPC stubs, it's not needed in Lisp

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@559035 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoRound 2 of making meta-dot find the .proto definition
Scott McKay [Mon, 27 Aug 2012 17:12:09 +0000 (17:12 +0000)]
Round 2 of making meta-dot find the .proto definition

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@558959 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoAdd (most of the) support for meta-dot
Scott McKay [Fri, 24 Aug 2012 19:03:49 +0000 (19:03 +0000)]
Add (most of the) support for meta-dot

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@558792 f8382938-511b-0410-9cdd-bb47b084005c

11 years agoA few cleanups for CL-Stubby; passes 'precheckin'
Scott McKay [Tue, 3 Jul 2012 18:44:19 +0000 (18:44 +0000)]
A few cleanups for CL-Stubby; passes 'precheckin'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@552185 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoIt turns out that being able to get from method -> service -> schema
Scott McKay [Thu, 28 Jun 2012 20:42:55 +0000 (20:42 +0000)]
It turns out that being able to get from method -> service -> schema
makes my CL-Stubby client code simpler. So, fill in the 'parent'
slot for more than just messages. No cost at runtime, so WTH.

Passes 'precheckin' with the new Protobufs unit tests in place.
CL-Stubby tests pass in Google3 environment.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551616 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoUpdate the documentation
Scott McKay [Wed, 27 Jun 2012 21:42:19 +0000 (21:42 +0000)]
Update the documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551426 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMake the schema printer aware of qualified names.
Scott McKay [Wed, 27 Jun 2012 20:43:50 +0000 (20:43 +0000)]
Make the schema printer aware of qualified names.

Passes 'precheckin' with the new Protobufs unit tests in place.
CL-Stubby tests pass in Google3 environment.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551401 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoBeef up the generated client-side stub so that calls into an RPC
Scott McKay [Tue, 26 Jun 2012 19:52:07 +0000 (19:52 +0000)]
Beef up the generated client-side stub so that calls into an RPC
package, if it has been loaded.

Passes 'precheckin' with the new Protobufs unit tests in place.
CL-Stubby tests pass in Google3 environment.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551156 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix further package-related svn merge breakage from 551126.
François-René Rideau [Tue, 26 Jun 2012 19:22:35 +0000 (19:22 +0000)]
Fix further package-related svn merge breakage from 551126.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551150 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix build broken by my previous commit 551126
François-René Rideau [Tue, 26 Jun 2012 19:18:46 +0000 (19:18 +0000)]
Fix build broken by my previous commit 551126

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551149 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoSome pathname simplifications in asdf support for cl-protobufs
François-René Rideau [Tue, 26 Jun 2012 18:13:10 +0000 (18:13 +0000)]
Some pathname simplifications in asdf support for cl-protobufs
Tested: [trunk r550170] precheckin --full+ --parallel 5  PASSED
Reviewed: swm

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551126 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoDo a better job recording where a Protobuf schema came from
Scott McKay [Tue, 26 Jun 2012 14:38:57 +0000 (14:38 +0000)]
Do a better job recording where a Protobuf schema came from
so that 'import' just plain works everywhere.

Passes 'precheckin' with the new Protobufs unit tests in place.
CL-Stubby tests pass in Google3 environment.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@551048 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoGet the SBCL build working in the face of the newly installed tests
Scott McKay [Wed, 20 Jun 2012 20:59:19 +0000 (20:59 +0000)]
Get the SBCL build working in the face of the newly installed tests

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@550121 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoRandom things discovered while working on Stubby support...
Scott McKay [Wed, 20 Jun 2012 17:39:41 +0000 (17:39 +0000)]
Random things discovered while working on Stubby support...
 - Make the 'find-xxx' support searching "relative to" another namespace.
 - There was a bug in the non-optimized deserializer when deserializing
   a repeated slot into a vector; create a stretchy vector on demand
   if it's needed.
 - 'define-extends' should wrap 'eval-when' around the generated 'defsetf'
   forms so that they are visible at compile time.
 - Fix a formatting bug in the export list in the Lisp printer.
 - Straighten of the ASDF declaration for the tests.
 - Add the Protobufs test suite to QRes, to keep things honest.

Passes 'precheckin' with the new Protobufs unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@550053 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoStill better support for qualified names:
Scott McKay [Mon, 18 Jun 2012 15:00:19 +0000 (15:00 +0000)]
Still better support for qualified names:
 - Add 'make-qualified-name' function that knows how to prepend
   message and package names.
 - All the places that create messages, enums, fields, etc, now
   generate a qualified name.
 - 'find-qualified-name' now thoroughly checks the qualified name.

Passes 'precheckin' with the new Protobufs unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@549563 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWhoops, committed an accidental change
Scott McKay [Thu, 14 Jun 2012 18:18:58 +0000 (18:18 +0000)]
Whoops, committed an accidental change

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@549106 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoBeef up ASDF support and 'process-imports' to be rock solid,
Scott McKay [Thu, 14 Jun 2012 17:49:57 +0000 (17:49 +0000)]
Beef up ASDF support and 'process-imports' to be rock solid,
both in the QRes environment and the Google3 environment.

Passes 'precheckin' with the new Protobufs unit tests in place.
Fortuneseeker server gets simpler.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@549101 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoSimplify one interface a tiny bit
Scott McKay [Wed, 13 Jun 2012 22:00:15 +0000 (22:00 +0000)]
Simplify one interface a tiny bit

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@548951 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMove Protobufs to lisp/libs/cl-protobufs as a standalone system
Scott McKay [Wed, 13 Jun 2012 14:53:08 +0000 (14:53 +0000)]
Move Protobufs to lisp/libs/cl-protobufs as a standalone system

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@548806 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoChanged license to MIT-style for publication as part of QITAB.
François-René Rideau [Mon, 11 Jun 2012 20:23:48 +0000 (20:23 +0000)]
Changed license to MIT-style for publication as part of QITAB.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@548441 f8382938-511b-0410-9cdd-bb47b084005c

12 years agocl-protobufs: refactor some pathname munging functions to use ASDF2 utilities.
François-René Rideau [Mon, 11 Jun 2012 20:23:13 +0000 (20:23 +0000)]
cl-protobufs: refactor some pathname munging functions to use ASDF2 utilities.
Tested: doesn't break the build; isn't currently used by our tests.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@548440 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWhile implementing the Fortuneteller stubby server, I ran into
Scott McKay [Mon, 11 Jun 2012 17:13:55 +0000 (17:13 +0000)]
While implementing the Fortuneteller stubby server, I ran into
some things that needed to be addressed:
 - We need to do a more thorough search of namespaces so that
   qualified references to imported messages, etc, work properly.
   It's still not 100%, but it covers most of what I can find.
   - Name mappers now do their best to preserve qualified names.
   - 'find-xxx' methods search the qualified names.
 - Fix the importation process to cooperate better with ASDF, i.e.,
   don't bother re-importing things that have already compiled
   as part of an ASDF compile/load operation.
 - When generating .lisp from .proto, if no package has been
   declared, do it. And fill it with nice exports, too. This
   won't be exactly right, but it'll make it easier to create
   a proper package declaration, if you so desire.
 - Do a better job of generating client- and server-side stubs.

Passes 'precheckin' with the new Protobufs unit tests in place.
And more to the point, the Fortuneseeker server now works as a
Stubby client using my new Google3 http2 and rpc2 libraries.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@548386 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoSBCL kindly offered suggestions for improvement:
Scott McKay [Tue, 5 Jun 2012 17:46:46 +0000 (17:46 +0000)]
SBCL kindly offered suggestions for improvement:
 - Use 'defgeneric' with ':method' for things that are meant to
   have just a single method.
 - Lose some unreachable code in the parser.
 - Weak hash tables in SBCL need to use ':weakness :value'.
 - The wire-level stuff can use some more type declarations.
 - Fix a package problem in one of the examples.

Passes 'precheckin' with the new Protobufs unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547515 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoRename these files to avoid name clashes
Scott McKay [Mon, 4 Jun 2012 15:35:34 +0000 (15:35 +0000)]
Rename these files to avoid name clashes

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547278 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoA few tweaks
Scott McKay [Mon, 4 Jun 2012 15:33:35 +0000 (15:33 +0000)]
A few tweaks

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547277 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFrigging SBCL
Scott McKay [Fri, 1 Jun 2012 20:10:46 +0000 (20:10 +0000)]
Frigging SBCL

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547057 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMake it a bit easier to debug (de)serialization
Scott McKay [Fri, 1 Jun 2012 19:13:48 +0000 (19:13 +0000)]
Make it a bit easier to debug (de)serialization

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547034 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMore support for Stubby and use in Google3 in general:
Scott McKay [Wed, 30 May 2012 20:58:28 +0000 (20:58 +0000)]
More support for Stubby and use in Google3 in general:
 - More sophisticated and easier to use ASDF support.
 - Add search paths to the :protobuf-file ASDF module

Passes 'precheckin' with the new Protobufs unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@546487 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoGet some stuff working better for Stubby purposes.
Scott McKay [Fri, 25 May 2012 20:24:29 +0000 (20:24 +0000)]
Get some stuff working better for Stubby purposes.
 - Better implementation of 'uncamel-case' gives better names.
 - Add an index slot to 'protobuf-method' so that we can more
   easily do automatic service registration.
 - Give a better type to the index slot in 'protobuf-message'
   and 'protobuf-enum'.
 - Parser and macros now assign an index to each service method.
 - Define 'find-service' and 'find-method' for use by Stubby.

Passes 'precheckin' with the new Protobufs unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545964 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix a few more things discovered by the tests:
Scott McKay [Fri, 25 May 2012 14:46:50 +0000 (14:46 +0000)]
Fix a few more things discovered by the tests:
 - 'reinitialize-slot' didn't quite work.
 - Add a geodata example that uses vectors for repeated fields,
   which uncovered a bug in the optimized deserializers.
 - Importing the geodata CLOS classes revealed a bug in default
   handling when the default is provided only in 'defclass'.
 - Fix the knock-on bug in deserialization and the optimized
   (de)serialization caused the above.
 - Add tighter types in 'decode-uint32' and 'decode-uint64'.

Passes 'precheckin'. Even with the new unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545865 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAdd 'vector-of' type, at Shaun Morris's request. This required
Scott McKay [Wed, 23 May 2012 18:17:11 +0000 (18:17 +0000)]
Add 'vector-of' type, at Shaun Morris's request. This required
 some additions to the macrology and to the (de)serialization
 code. No runtime performance cost to being able to have things
 both ways.
Fix a bug that caused unprocessed options to get dropped.
Improve some of the unit tests.

Passes 'precheckin'. Even with the new unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545367 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAdd more stuff to the test suite, and fix what it uncovered.
Scott McKay [Tue, 22 May 2012 20:16:41 +0000 (20:16 +0000)]
Add more stuff to the test suite, and fix what it uncovered.
 - Behavior of ':default xxx'/[default=xxx] was not stable,
   so add an "empty default" marker and respect it during
   parsing and printing.
 - 'find-option' now returns a third "found-p" value, useful
   for the better handling of defaults.
 - Don't print slot readers/writers if they have the same name
   as what would be (silently) generated by the macrology.
 - Don't print 'import descriptor.proto' lines if there are
   no 'lisp_xxx' options in the generated code.
 - Add 'clear-field' to the API; add the functions it needs.
 - Be more careful about how :conc-name interacts with the
   generation of readers/writers.
 - When parsing from a .proto file, force the conc-name to
   be "" unless requested explicitly not to. This has the
   effect of generating readers/writers for all the fields
   of imported Protobufs messages, which I think is probably
   the desired behavior.
 - Add 'make-byte-vector' for convenience.

Passes 'precheckin'. Even with the new unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545177 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoCheckpoint the Protobufs tests
Scott McKay [Tue, 22 May 2012 20:09:55 +0000 (20:09 +0000)]
Checkpoint the Protobufs tests

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545171 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix the broken qres build.
Fatema Kapoor [Mon, 21 May 2012 19:04:02 +0000 (19:04 +0000)]
Fix the broken qres build.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544910 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoUpdate the documentation a bit more
Scott McKay [Fri, 18 May 2012 21:47:53 +0000 (21:47 +0000)]
Update the documentation a bit more

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544751 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoNow that Protobufs has a test suite, it found a few things to fix.
Scott McKay [Fri, 18 May 2012 21:04:02 +0000 (21:04 +0000)]
Now that Protobufs has a test suite, it found a few things to fix.
 - Don't generate warnings for anonymous enums, they're harmless
   and ubiquitous.
 - 'member' types where are all the members are keywords, is a symbol,
   which got converted to a Protobufs 'string'. Wrong.
 - If a field has an enum type, the (Lisp) default value should be
   treated as a keyword.
 - When parsing a .proto file or using the 'define-xxx' macros, any
   options that are handled specially should be trimmed from the
   options list so that they don't get printed twice.
 - Add 'remove-options' for the above.
 - Make the options printer be more type-aware.
 - Clean up examples.lisp
 - 'schemas-equal' can ignore the schema name/class if they're null.

Passes 'precheckin'. Even with the new unit tests in place.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544737 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoCheckpoint Protobufs tests, not run yet by default
Scott McKay [Fri, 18 May 2012 20:53:49 +0000 (20:53 +0000)]
Checkpoint Protobufs tests, not run yet by default

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544734 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoSBCL spotted a type error that CCL missed
Scott McKay [Wed, 16 May 2012 22:05:22 +0000 (22:05 +0000)]
SBCL spotted a type error that CCL missed

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544314 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAt Sergey's request, make some of the names better:
Scott McKay [Wed, 16 May 2012 21:06:18 +0000 (21:06 +0000)]
At Sergey's request, make some of the names better:
 - 'define-proto' -> 'define-schema'
 - 'protobuf' (class name) -> 'protobuf-schema'
 - 'find-protobuf' -> 'find-schema'
 - 'parse-protobuf-from-file' -> 'parse-schema-from-file'
 - 'parse-protobuf-from-stream' -> 'parse-schema-from-file'
 - 'write-protobuf' -> 'write-schema'
 - 'write-protobuf-as' -> 'write-schema-as'
 - 'ensure-all-protobufs' -> 'ensure-all-protobufs'
 - 'ensure-protobuf' -> 'ensure-protobuf'
 - 'protobuf-upgradable' -> 'schema-upgradable'
 - 'protobufs-equal' -> 'schemas-equal'
 - 'generate-protobuf-schema-for-classes' -> 'generate-schema-for-classes'
 - 'write-protobuf-schema-for-classes' -> 'write-schema-for-classes'

Update the Quake Protobufs schema generator to use the new names.

The Protobufs documentation doesn't say so, but enums can be packed.
 - Update the wire-level protocol to (de)serialize packed enums.
 - Update the serialization code to use the new wire functions.

Passes 'precheckin'.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544299 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTie up a few loose ends with 'unittests.proto'; there are still a few
Scott McKay [Wed, 16 May 2012 17:01:06 +0000 (17:01 +0000)]
Tie up a few loose ends with 'unittests.proto'; there are still a few
edge case problems, but it's good enough to continue the Stubby work.
The critical .proto files (descriptor.proto, etc) all appear to work.

More precise mapping of (mainly integer) types from .lisp to .proto files
so that we can a truly exact model once we compile the .lisp file. It may
not make any difference, but better safe than sorry.
 - Introduce Lisp type 'int32', 'int64', 'uint32', etc
 - Make Lisp->Protobufs recognize the new Lisp types
 - Make Protobufs schema printers recognize the new types

Fix up the handling of imports and namespaces.
 - Always use truenames to record schemas
 - Fix typo in 'find-enum' that caused it never to search other schemas
 - Record the schema in *all-protobufs* at exactly the right time,
   and simplify 'make-load-form' methods

A few tweaks to (de)serialization.
 - Make the bodies for empty messages not generate compiler warnings
 - Don't make ':packed t' be the default, the user has to say so
 - The user documentation doesn't say so, but booleans can be packed.

Passes 'precheckin'.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544222 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAdd some support for testing: 'protobufs-equal'
Scott McKay [Tue, 15 May 2012 17:53:19 +0000 (17:53 +0000)]
Add some support for testing: 'protobufs-equal'

Passes 'precheckin'.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543998 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoA few more model fixes to fully support google/protobuf/unittest.proto
Scott McKay [Mon, 14 May 2012 23:22:59 +0000 (23:22 +0000)]
A few more model fixes to fully support google/protobuf/unittest.proto
(I love this file, it's got one of everything.)

 - The printer should not print extended fields in any message
   that further extends an extended message.
 - If parsing or importing a .proto file needs a Lisp package that
   does not exist, go ahead and create it.
 - Importing now tracks all the schemas imported by the "parent",
   this so that we can search namespaces thoroughly.
 - It looks like 'define-extend' can accept groups. For a deprecated
   feature, it sure is a pain in the neck.
 - Make 'find-message' and 'find-enum' search all namespaces.
 - Print escaped strings, just for completeness.
 - Annotate a couple of common options with their types.

Passes 'precheckin'. Passes my by-hand tests and is epsilon away from
handling the worst .proto file around.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543912 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoGet google/protobuf/unittest.proto working, insofar as it parses
Scott McKay [Sun, 13 May 2012 15:17:06 +0000 (15:17 +0000)]
Get google/protobuf/unittest.proto working, insofar as it parses
completely and produces what appears to be a correct model. Next
up, ensure (de)serialization works with this complex beast, which
sets the stage for running the (very complete) Google tests.

 - Be much more careful to preserve type information in option
   values and field defaults, both in the macros and the parser.
   Make the slots in their model objects be untyped.
 - This makes it easier for the Proto and Lisp printers to produce
   exactly the right output, so fix them, too. Be extra careful
   with booleans.
 - Fix the printer to recognize more of the standard options so
   that their values get printed with the correct type.
 - Learn to parse more complicated numeric and integer constants.
 - Learn to parse escaped strings.
 - Learn to parse comma-separated options.
 - Learn to parse extensions with no 'to' specifier.
 - Fix the places that used (deprecated) :single instead of :float.
 - Proto enum values always map to Lisp keywords, so don't futz
   with packages for them.
 - Add some more doc strings.
 - Add some more examples-that-will-become-tests.

Passes 'precheckin'. Passes my by-hand tests.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543727 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoNow that I've started importing the Google tests for Protos,
Scott McKay [Fri, 11 May 2012 20:17:48 +0000 (20:17 +0000)]
Now that I've started importing the Google tests for Protos,
a few more bugs are showing up:
 - Add basic handling for namespaces
 - A typo in my own tests caused me to miss the fact that
   negative signed integers did not deserialize correctly
   (thanks, Shaun!)
 - Just dike out the rest of the Quux dependencies, since it's
   pretty clear non-QRes folks will be using it

Passes 'precheckin'. Passes my by-hand tests.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543610 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix some problems reported by Shaun Morris:
Scott McKay [Thu, 10 May 2012 21:14:58 +0000 (21:14 +0000)]
Fix some problems reported by Shaun Morris:
 - Looks like Stubby will need 'merge-from-array', make room for that.
 - Text format deserializer didn't correctly parse negative integers.
 - Simply 'deserialize-object' a bit
 - Fix a bug in the 'deserialize-object' that caused it not to work
   correctly on extended fields.
 - Fix a sloppy bug in 'make-tag' that only showed up in SBCL.
 - Add a few more examples, soon to be part of a test suite.

Passes 'precheckin'. Passes my by-hand tests.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543418 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoD'oh, I didn't check in 'defgeneric' in the previous commit,
Scott McKay [Thu, 10 May 2012 16:13:14 +0000 (16:13 +0000)]
D'oh, I didn't check in 'defgeneric' in the previous commit,
which caused a unit test to fail. Sorry about that.

Make 'make-load-form' for protobuf schemas and messages update
*all-protobufs* and *all-messages*, since 'initialize-instance'
doesn't get called at load time (something I did not know!).

This time it passes 'precheckin --full', and I'll be sure to
commit all the files.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543323 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAdd a few more Python-like API functions for extension fields
Scott McKay [Wed, 9 May 2012 15:43:53 +0000 (15:43 +0000)]
Add a few more Python-like API functions for extension fields

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543163 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTweak the .proto parser a bit to handle some cases not in the documentation
Scott McKay [Wed, 9 May 2012 12:57:58 +0000 (12:57 +0000)]
Tweak the .proto parser a bit to handle some cases not in the documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543135 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoImplement 'proto:clear' for Shaun Morris, since he'll just ask for it anyway
Scott McKay [Tue, 8 May 2012 19:31:32 +0000 (19:31 +0000)]
Implement 'proto:clear' for Shaun Morris, since he'll just ask for it anyway

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543004 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoYikes, the optimizer for 'deserialize-packed' had a bug *and* a typo
Scott McKay [Tue, 8 May 2012 18:46:37 +0000 (18:46 +0000)]
Yikes, the optimizer for 'deserialize-packed' had a bug *and* a typo

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542991 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix some corner initialization corner cases.
Scott McKay [Tue, 8 May 2012 18:10:35 +0000 (18:10 +0000)]
Fix some corner initialization corner cases.
In particular, uninitialized optional boolean fields
whose Lisp type is (or (member t nil) null) now work.

Implement 'object-initialized-p' and 'slot-initialized-p'
and their Python lookalikes, 'is-initialized' and 'has-field'.

Update the documentation.

Passes 'precheckin --full+', which makes sense since none
of this is called in normal use yet.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542953 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoImprove the documentation
Scott McKay [Mon, 7 May 2012 20:06:48 +0000 (20:06 +0000)]
Improve the documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542783 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoDarn, forgot to save a buffer. Sorry for the build errors.
Scott McKay [Mon, 7 May 2012 17:49:27 +0000 (17:49 +0000)]
Darn, forgot to save a buffer. Sorry for the build errors.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542733 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoImplement (de)serialization for the Protobufs 'group' feature.
Scott McKay [Mon, 7 May 2012 17:28:42 +0000 (17:28 +0000)]
Implement (de)serialization for the Protobufs 'group' feature.
Now we can deserialize responses to BNS lookup requests!

Further improve the optimized deserializer generator, gaining
up to about 30% for messages with repeated fields.

Further improve the wire-level encoders and decoders, gaining
about 10-20% in (de)serialization performance across the board.

Passes 'precheckin --full+', which makes sense since none of
this is called in normal use yet.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542729 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWell, it turns out that the Protobufs 'group' feature,
Scott McKay [Fri, 4 May 2012 20:00:39 +0000 (20:00 +0000)]
Well, it turns out that the Protobufs 'group' feature,
which has been deprecated for years, is still in wide
use, e.g., in Chubby's bnsresolver.proto

So, implement support for groups:
 - Add a model class for it
 - Add .proto and .lisp printers
 - Add a 'define-group' macro
 - Make the .proto parser know how to parse them

Passes 'precheckin --full+', which makes sense since none
of this is used in normal use yet.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542500 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTweak the Proto code generator so that we can attempt
Scott McKay [Fri, 4 May 2012 11:47:23 +0000 (11:47 +0000)]
Tweak the Proto code generator so that we can attempt
to fully serialize a LegacyPnr aggregate.

Fix 'skip-element' to ignore (deprecated) groups.

Passes 'precheckin --full+', which makes sense since none
of this is used in normal use yet.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542375 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTighten up the tights in the optimized (de)serialization code
Scott McKay [Wed, 2 May 2012 16:35:27 +0000 (16:35 +0000)]
Tighten up the tights in the optimized (de)serialization code

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542011 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoSpeed up string (de)serialization a bit
Scott McKay [Wed, 2 May 2012 16:02:57 +0000 (16:02 +0000)]
Speed up string (de)serialization a bit

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542000 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix a few places where the Lisp macros didn't generate symbols in the right package
Scott McKay [Mon, 30 Apr 2012 18:31:17 +0000 (18:31 +0000)]
Fix a few places where the Lisp macros didn't generate symbols in the right package

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541656 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTurn on code that enables code generation for ':optimize :speed'
Scott McKay [Mon, 30 Apr 2012 12:54:08 +0000 (12:54 +0000)]
Turn on code that enables code generation for ':optimize :speed'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541603 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWhops 'proto:define-enum' should start enum indexes at 0.
Scott McKay [Thu, 26 Apr 2012 20:18:03 +0000 (20:18 +0000)]
Whops 'proto:define-enum' should start enum indexes at 0.
Field naming convention is 'last_name', not 'lastName'.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541257 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWhoops, didn't convert 'bool' fields to t/nil
Scott McKay [Thu, 26 Apr 2012 14:23:52 +0000 (14:23 +0000)]
Whoops, didn't convert 'bool' fields to t/nil

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541140 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMake the CLOS->Proto conversion a bit smarter
Scott McKay [Wed, 25 Apr 2012 20:49:49 +0000 (20:49 +0000)]
Make the CLOS->Proto conversion a bit smarter

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541044 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoOne more thing that breaks SBCL
Scott McKay [Wed, 25 Apr 2012 19:47:53 +0000 (19:47 +0000)]
One more thing that breaks SBCL

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541022 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix some things that break the SBCL build
Scott McKay [Wed, 25 Apr 2012 19:44:06 +0000 (19:44 +0000)]
Fix some things that break the SBCL build

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541020 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMerge $SVN/branches/qres/swm/borgify-1/qres back into the trunk.
Scott McKay [Wed, 25 Apr 2012 17:53:53 +0000 (17:53 +0000)]
Merge $SVN/branches/qres/swm/borgify-1/qres back into the trunk.

Major changes include:
 - Simplification of 'define-db-enumeration',
   and fixing clients to use simpler name conventions (no more {})
 - Removal of unused Quake functionality (courtesy of Alejandro),
   including memcached, Oracle O-R record loaders, Quake-OCI c code
 - Addition of MySQL schema generator
 - Addition of Protobufs support
   (see $Q/lisp/quux/protobugs/cl-protobufs.rst)

Passes 'precheckin --full+'. Changes mutually review by swm and asedeno.

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@540982 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoGet 'import' working before this all goes prime-time
Scott McKay [Wed, 25 Apr 2012 16:46:05 +0000 (16:46 +0000)]
Get 'import' working before this all goes prime-time

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540933 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoA few tweaks
Scott McKay [Tue, 24 Apr 2012 19:14:50 +0000 (19:14 +0000)]
A few tweaks

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540753 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix a spelling error
Scott McKay [Tue, 24 Apr 2012 16:47:43 +0000 (16:47 +0000)]
Fix a spelling error

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540717 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoA few improvements to upgradability checking and the text-format deserializaer
Scott McKay [Tue, 24 Apr 2012 16:43:53 +0000 (16:43 +0000)]
A few improvements to upgradability checking and the text-format deserializaer

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540715 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoDon't generate compiler warnings for optimized serialization code
Scott McKay [Mon, 23 Apr 2012 20:46:12 +0000 (20:46 +0000)]
Don't generate compiler warnings for optimized serialization code

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540598 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTweak the CLOS->Proto generation to work a bit more nicely
Scott McKay [Mon, 23 Apr 2012 18:04:44 +0000 (18:04 +0000)]
Tweak the CLOS->Proto generation to work a bit more nicely

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540527 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoImprove the CL-Protobufs documentation
Scott McKay [Fri, 20 Apr 2012 21:05:38 +0000 (21:05 +0000)]
Improve the CL-Protobufs documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540379 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoA few minor tweaks to text-format (de)serialization to line up with some stuff Igor...
Scott McKay [Fri, 20 Apr 2012 20:08:27 +0000 (20:08 +0000)]
A few minor tweaks to text-format (de)serialization to line up with some stuff Igor sent me

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540358 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMake sure extended indexes are in range
Scott McKay [Thu, 19 Apr 2012 21:35:19 +0000 (21:35 +0000)]
Make sure extended indexes are in range

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540175 f8382938-511b-0410-9cdd-bb47b084005c

12 years ago(de)serialization (from)to files
Scott McKay [Thu, 19 Apr 2012 20:10:25 +0000 (20:10 +0000)]
(de)serialization (from)to files

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540133 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoIt's 'extend', not 'extends'
Scott McKay [Thu, 19 Apr 2012 19:28:33 +0000 (19:28 +0000)]
It's 'extend', not 'extends'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540096 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoWow, deserializing extended messages is a bit trickier than I thought
Scott McKay [Thu, 19 Apr 2012 19:14:49 +0000 (19:14 +0000)]
Wow, deserializing extended messages is a bit trickier than I thought

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540092 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFully implement 'extends'
Scott McKay [Wed, 18 Apr 2012 21:30:57 +0000 (21:30 +0000)]
Fully implement 'extends'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539924 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoTweak the support for 'options' so that the generated .proto code will compile correctly
Scott McKay [Wed, 18 Apr 2012 18:48:56 +0000 (18:48 +0000)]
Tweak the support for 'options' so that the generated .proto code will compile correctly

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539865 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoDo all the model generation at macroexpansion time so that it's accessible to 'extends'
Scott McKay [Wed, 18 Apr 2012 17:31:06 +0000 (17:31 +0000)]
Do all the model generation at macroexpansion time so that it's accessible to 'extends'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539843 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoMake 'proto:define-xxx' do more work at compile-time (part 1)
Scott McKay [Wed, 18 Apr 2012 15:11:02 +0000 (15:11 +0000)]
Make 'proto:define-xxx' do more work at compile-time (part 1)

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539811 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoCheckpoint the implementation of 'define-extends'
Scott McKay [Mon, 16 Apr 2012 23:10:11 +0000 (23:10 +0000)]
Checkpoint the implementation of 'define-extends'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539536 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoGet 'define-extensions' right so that I can get 'extends' to work
Scott McKay [Fri, 13 Apr 2012 15:46:21 +0000 (15:46 +0000)]
Get 'define-extensions' right so that I can get 'extends' to work

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539156 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoImprove the documentation a bit
Scott McKay [Fri, 13 Apr 2012 15:10:47 +0000 (15:10 +0000)]
Improve the documentation a bit

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539140 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoFix a fencepost typo
Scott McKay [Fri, 13 Apr 2012 15:09:40 +0000 (15:09 +0000)]
Fix a fencepost typo

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539139 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoUse Stubby terminology in the implementation: 'RPC' -> 'method'
Scott McKay [Thu, 12 Apr 2012 21:09:27 +0000 (21:09 +0000)]
Use Stubby terminology in the implementation: 'RPC' -> 'method'

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@539029 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoBetter support Lisp packages; start implementing extensions
Scott McKay [Thu, 12 Apr 2012 17:16:44 +0000 (17:16 +0000)]
Better support Lisp packages; start implementing extensions

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538929 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoUpdate the documentation
Scott McKay [Wed, 11 Apr 2012 20:51:09 +0000 (20:51 +0000)]
Update the documentation

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538812 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoNow that we're using a lighter version of 'list-of', we can avoid using 'map:map...
Scott McKay [Wed, 11 Apr 2012 18:59:12 +0000 (18:59 +0000)]
Now that we're using a lighter version of 'list-of', we can avoid using 'map:map' and make this all more portable

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538774 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoAdd a lighter weight version of 'list-of' just for Protobufs
Scott McKay [Wed, 11 Apr 2012 18:54:05 +0000 (18:54 +0000)]
Add a lighter weight version of 'list-of' just for Protobufs

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538769 f8382938-511b-0410-9cdd-bb47b084005c

12 years agoIt's gonna be a heck of a lot easier debugging CL-Stubby if we can parse the text...
Scott McKay [Wed, 11 Apr 2012 15:10:26 +0000 (15:10 +0000)]
It's gonna be a heck of a lot easier debugging CL-Stubby if we can parse the text format of Protobufs messages

git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538712 f8382938-511b-0410-9cdd-bb47b084005c