]>
asedeno.scripts.mit.edu Git - cl-protobufs.git/log
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Scott McKay [Tue, 10 Apr 2012 18:26:12 +0000 (18:26 +0000)]
Add some user documentation
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538586
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 10 Apr 2012 18:13:55 +0000 (18:13 +0000)]
Fix doc string typos
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538580
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 9 Apr 2012 19:15:41 +0000 (19:15 +0000)]
Fix up typos in doc strings
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538435
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 5 Apr 2012 21:01:23 +0000 (21:01 +0000)]
Add some comments about how we might add Stubby
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@538007
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 5 Apr 2012 18:07:53 +0000 (18:07 +0000)]
Commit merges with trunk
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537951
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 5 Apr 2012 16:32:41 +0000 (16:32 +0000)]
A few things for Bill Woods:
- When deserializing the wire-format, seeing a null byte in the tag
position indicates the end of the message.
- Allow the text-format serializer to generate more compact output.
- Add a more useful "list" example that he could use for sending
stuff to/from his sentence understanding system.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537902
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 4 Apr 2012 21:52:46 +0000 (21:52 +0000)]
Add an example that can serialize Lisp lists
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537763
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 4 Apr 2012 21:28:58 +0000 (21:28 +0000)]
Fix a bug in the text-format serializer
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537758
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 4 Apr 2012 17:21:32 +0000 (17:21 +0000)]
Get readers, accessors, initforms, etc right
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537679
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 4 Apr 2012 14:36:37 +0000 (14:36 +0000)]
Simplify the serialization API and make it faster, too
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537621
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 3 Apr 2012 20:32:38 +0000 (20:32 +0000)]
Export a simpler, Python-like API (requested by Sean Morris)
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537485
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 3 Apr 2012 15:36:50 +0000 (15:36 +0000)]
Make it (almost) possible to compile/load Protobufs outside of QRes
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537349
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 2 Apr 2012 20:59:44 +0000 (20:59 +0000)]
D'oh, forgot to initialize nullable and sequence slots to nil
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537223
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 2 Apr 2012 19:20:00 +0000 (19:20 +0000)]
Having straightened out aliases, we can now speed up serialization
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537197
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 2 Apr 2012 18:52:24 +0000 (18:52 +0000)]
More cleaning up of the API: 'class' vs. 'type' vs. 'alias'
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537186
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 2 Apr 2012 15:40:38 +0000 (15:40 +0000)]
Straighten out API: 'class' vs. 'type' vs. 'alias'
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537125
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 2 Apr 2012 13:33:27 +0000 (13:33 +0000)]
'serialize-object' and 'object-size' should take a type argument so that aliasing can work properly, always
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537089
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Sun, 1 Apr 2012 21:31:57 +0000 (21:31 +0000)]
Some cleanups to enable some more cleanups :-)
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537059
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Sat, 31 Mar 2012 20:39:16 +0000 (20:39 +0000)]
Misplaced 'when' prevented serialization of PNRs from working
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537036
f8382938 -511b-0410-9cdd-
bb47b084005c
Alejandro Sedeño [Fri, 30 Mar 2012 21:59:48 +0000 (21:59 +0000)]
tweak proto-pkgdcl.lisp to fix bogus exports unit test
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536949
f8382938 -511b-0410-9cdd-
bb47b084005c
Alejandro Sedeño [Fri, 30 Mar 2012 21:59:43 +0000 (21:59 +0000)]
fix bugs introduced in last commit
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536947
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 30 Mar 2012 20:17:41 +0000 (20:17 +0000)]
Fix problems found while debugging 'read-air-reservation' query
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536909
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 29 Mar 2012 19:40:09 +0000 (19:40 +0000)]
Type-checking was killing us while deserializing lengthy repeated fields, so optimize that
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536693
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 29 Mar 2012 17:44:08 +0000 (17:44 +0000)]
Commit changes merged from trunk
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536623
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 29 Mar 2012 16:44:57 +0000 (16:44 +0000)]
More optimizations of (de)serialization at the wire-format level
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536613
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 27 Mar 2012 21:14:59 +0000 (21:14 +0000)]
Tweak serialization performance a bit more; add optimized deserialization
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536294
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 26 Mar 2012 20:53:41 +0000 (20:53 +0000)]
Add optimizations for (de)serialization
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536096
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 23 Mar 2012 21:02:10 +0000 (21:02 +0000)]
Get 3x performance improvement out of (de)serialization; 10x to go
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@535835
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 22 Mar 2012 22:50:36 +0000 (22:50 +0000)]
NFC -- indentation
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@535642
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 22 Mar 2012 20:30:46 +0000 (20:30 +0000)]
Slightly better handling of defaults
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@535612
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 21 Mar 2012 18:15:45 +0000 (18:15 +0000)]
Fix a problem in which 'define-message' could define a circular type.
Add a new 'ensure-protobuf' function that ensures that everything in
a schema is well-defined. Makes debugging easier.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@535331
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 21 Mar 2012 16:02:50 +0000 (16:02 +0000)]
Fully implement class/type "override" so that 'proto:define-message'
and 'proto:define-enum' can be used to fully model existing Lisp
classes and types. This will make it much easier to reuse QRes
objects for its Protobufs API.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@535300
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 20 Mar 2012 14:08:20 +0000 (14:08 +0000)]
Fix some things noticed by Igor:
- The default syntax should be "proto2"
- Always emit the syntax in .proto files
- Parse syntax lines (how did I miss this?)
- .proto package names can't contain dash chars; use underscore
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534966
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 19 Mar 2012 20:14:27 +0000 (20:14 +0000)]
Remove one of the examples now that I'm making it work
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534859
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 19 Mar 2012 15:11:54 +0000 (15:11 +0000)]
Tweak a few things for the XML->Protobufs work
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534763
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 16 Mar 2012 15:09:17 +0000 (15:09 +0000)]
Make the CLOS -> Protobufs transformer do a better job generating Protobufs fields
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534504
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 16 Mar 2012 14:30:02 +0000 (14:30 +0000)]
Need to encode/decode both signed and unsigned fixed-length integers
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534496
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 15 Mar 2012 22:45:41 +0000 (22:45 +0000)]
After confirming my suspicions with Robert Brown,
fix the wire protocol to (de)serialize fixed integers
with a fixed nnumber of bytes. These don't get used
much, so this went unnoticed even by his test suite.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534383
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 15 Mar 2012 22:31:00 +0000 (22:31 +0000)]
Extend the 'define-proto' macrology so it can be used to
model existing families of classes, rather than always
creating new classes. This means we can use it, e.g.,
to do what 'define-xmlgen-component' does, allowing us
to do Protobufs serialization directly on, say, PNRs.
Add :class argument to 'define-message'. When it's given
explicitly, no new class is created.
Add :reader argument to fields. When it's given explicitly,
the serializer uses the reader function instead of trying
to get a value directly from a slot.
Fix serialization to use the reader if it's supplied.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534378
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 15 Mar 2012 21:13:20 +0000 (21:13 +0000)]
Tweak the syntax of RPCs within services a bit.
Speed serialization a bit.
Flesh out the "Read Air Resveration" example.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534345
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 15 Mar 2012 16:17:52 +0000 (16:17 +0000)]
Better support for upgradability warnings
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534238
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 14 Mar 2012 19:25:19 +0000 (19:25 +0000)]
Fix a minor bug in service/rpc declarations.
Fix a minor bug in deserialization.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534089
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 14 Mar 2012 17:26:09 +0000 (17:26 +0000)]
Add ASDF support for .proto modules.
Generate stubs for RPCs within Protobufs services.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534038
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 14 Mar 2012 15:29:17 +0000 (15:29 +0000)]
Support floating point in the wire protocol
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533978
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 13 Mar 2012 20:44:46 +0000 (20:44 +0000)]
It's an error to assign field numbers between 19000 and 19999.
The .proto parser should try to put symbols in the right package.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533822
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 13 Mar 2012 18:56:04 +0000 (18:56 +0000)]
Fix a bug in the options printers.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533778
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Tue, 13 Mar 2012 14:34:50 +0000 (14:34 +0000)]
Uniform handling of options and documentation
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533680
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Mon, 12 Mar 2012 20:42:07 +0000 (20:42 +0000)]
Implement the .proto file parser.
Rename a few things to make the code a bit easier to read.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533572
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 9 Mar 2012 22:25:01 +0000 (22:25 +0000)]
Simplify some things to make development using Protobufs easier
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533338
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Fri, 9 Mar 2012 14:19:22 +0000 (14:19 +0000)]
Support extensions
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533157
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Thu, 8 Mar 2012 16:17:40 +0000 (16:17 +0000)]
Model options as first-class object, this so we can get the
parser working right for the top-level.proto file and for
the RPCs within service declarations.
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@532904
f8382938 -511b-0410-9cdd-
bb47b084005c
Scott McKay [Wed, 7 Mar 2012 21:48:09 +0000 (21:48 +0000)]
Fix a dumb typo
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@532791
f8382938 -511b-0410-9cdd-
bb47b084005c