- Sep 12, 2012
-
-
Scott McKay authored
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
-
- Sep 07, 2012
-
-
Scott McKay authored
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
-
- Sep 04, 2012
-
-
Scott McKay authored
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
-
- Aug 28, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@559296 f8382938-511b-0410-9cdd-bb47b084005c
-
- Aug 27, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@558959 f8382938-511b-0410-9cdd-bb47b084005c
-
- Aug 24, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@558792 f8382938-511b-0410-9cdd-bb47b084005c
-
- Jun 28, 2012
-
-
Scott McKay authored
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
-
- Jun 27, 2012
-
-
Scott McKay authored
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
-
- Jun 26, 2012
-
-
Scott McKay authored
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
-
- Jun 18, 2012
-
-
Scott McKay authored
- 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
-
- Jun 14, 2012
-
-
Scott McKay authored
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
-
- Jun 13, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@548806 f8382938-511b-0410-9cdd-bb47b084005c
-
- Jun 11, 2012
-
-
François-René Rideau authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@548441 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
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
-
- Jun 05, 2012
-
-
Scott McKay authored
- 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
-
- Jun 01, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547034 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 30, 2012
-
-
Scott McKay authored
- 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
-
- May 25, 2012
-
-
Scott McKay authored
- 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
-
- May 23, 2012
-
-
Scott McKay authored
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
-
- May 22, 2012
-
-
Scott McKay authored
- 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
-
- May 18, 2012
-
-
Scott McKay authored
- 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
-
- May 16, 2012
-
-
Scott McKay authored
- '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
-
- May 14, 2012
-
-
Scott McKay authored
(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
-
- May 13, 2012
-
-
Scott McKay authored
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
-
- May 10, 2012
-
-
Scott McKay authored
- 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
-
- May 09, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543135 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 08, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543004 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
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
-
- May 04, 2012
-
-
Scott McKay authored
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
-
- Apr 25, 2012
-
-
Scott McKay authored
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
-
- Apr 24, 2012
-
-
Scott McKay authored
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
-
- Apr 19, 2012
-
-
Scott McKay authored
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 authored
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
-
- Apr 18, 2012
-
-
Scott McKay authored
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 authored
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 authored
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
-
- Apr 13, 2012
-
-
Scott McKay authored
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 authored
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
-
- Apr 12, 2012
-
-
Scott McKay authored
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 authored
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
-