chaokunyang opened a new pull request, #1603:
URL: https://github.com/apache/incubator-fury/pull/1603

   
   ## What does this PR do?
   
   Update type meta field info spec:
   ```
   - field info:
       - header(8
         bits): `3 bits size + 2 bits field name encoding + polymorphism flag + 
nullability flag + ref tracking flag`.
         Users can use annotation to provide those info.
           - 2 bits field name encoding:
               - encoding: 
`UTF8/ALL_TO_LOWER_SPECIAL/LOWER_UPPER_DIGIT_SPECIAL/TAG_ID`
               - If tag id is used, i.e. field name is written by an unsigned 
varint tag id. 2 bits encoding will be `11`.
           - size of field name:
               - The `3 bits size: 0~7`  will be used to indicate length `1~7`, 
the value `7` indicates to read more bytes,
                 the encoding will encode `size - 7` as a varint next.
               - If encoding is `TAG_ID`, then num_bytes of field name will be 
used to store tag id.
           - ref tracking: when set to 1, ref tracking will be enabled for this 
field.
           - nullability: when set to 1, this field can be null.
           - polymorphism: when set to 1, the actual type of field will be the 
declared field type even the type if
             not `final`.
       - field name: If tag id is set, tag id will be used instead. Otherwise 
meta string encoding `[length]` and data will
         be written instead.
   ```
   
   ## Related issues
   
   <!--
   Is there any related issue? Please attach here.
   
   - #xxxx0
   - #xxxx1
   - #xxxx2
   -->
   
   
   ## Does this PR introduce any user-facing change?
   
   <!--
   If any user-facing interface changes, please [open an 
issue](https://github.com/apache/incubator-fury/issues/new/choose) describing 
the need to do so and update the document if necessary.
   -->
   
   - [ ] Does this PR introduce any public API change?
   - [ ] Does this PR introduce any binary protocol compatibility change?
   
   
   ## Benchmark
   
   <!--
   When the PR has an impact on performance (if you don't know whether the PR 
will have an impact on performance, you can submit the PR first, and if it will 
have impact on performance, the code reviewer will explain it), be sure to 
attach a benchmark data here.
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org

Reply via email to