Skip to content
  • Scott McKay's avatar
    Add type aliases to CL-Protobufs · a732dcb3
    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:
    
    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
    a732dcb3