You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "wujimin (JIRA)" <ji...@apache.org> on 2018/12/04 18:27:00 UTC
[jira] [Updated] (SCB-676) protobuf codec based on idl
[ https://issues.apache.org/jira/browse/SCB-676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
wujimin updated SCB-676:
------------------------
Description:
compare to jackson protobuf:
* can parse protobuf 3 proto file
* support protobuf 3: map/any
compare to protoStuff runtime:
* for a proto message type, not only support strong type(Pojo), but alse support weak type(Map)
* support "any" type
* support generic pojo type, eg:CustomGeneric<User>
compare to standard protobuf:
* extend "any" type, for standard not support cases, use "json" schema to codec it.
compare to all:
* just pojo, no need any code generation and annotation
* one pojo can serialize to different version proto file to support different version server
* wrap List<List<X>>/List<Map<X, Y>>/Map<X, List<Y>>/Map<X, Map<Y, Z>> to standard proto idl, makes model more flexible
* support text data come from http,can serrialize from different data type
** number fields (int32/int64 and so on)
*** number
*** String
*** String[]
** string fields
*** string
*** string[]
** bool fields
*** boolean
*** string
*** string[]
** enum fields
*** enum
*** number
*** string
*** string[]
was:
compare to jackson protobuf:
* can parse protobuf 3 proto file
* support protobuf 3: map/any
compare to protoStuff runtime:
* for a proto message type, not only support strong type(Pojo), but alse support weak type(Map)
* support "any" type
* support generic pojo type, eg:CustomGeneric<User>
* DO NOT support List<List<XXX>>/List<Map<X, Y>> any more, because protobuf specification not support it, and the parser can not parse the proto file
compare to standard protobuf:
* extend "any" type, for standard not support cases, use "json" schema to codec it.
compare to all:
* just pojo, no need any code generation and annotation
* one pojo can serialize to different version proto file to support different version server
* support text data come from http,can serrialize from different data type
** number fields (int32/int64 and so on)
*** number
*** String
*** String[]
** string fields
*** string
*** string[]
** bool fields
*** boolean
*** string
*** string[]
** enum fields
*** enum
*** number
*** string
*** string[]
> protobuf codec based on idl
> ---------------------------
>
> Key: SCB-676
> URL: https://issues.apache.org/jira/browse/SCB-676
> Project: Apache ServiceComb
> Issue Type: Task
> Components: Java-Chassis
> Reporter: wujimin
> Assignee: wujimin
> Priority: Major
>
> compare to jackson protobuf:
> * can parse protobuf 3 proto file
> * support protobuf 3: map/any
> compare to protoStuff runtime:
> * for a proto message type, not only support strong type(Pojo), but alse support weak type(Map)
> * support "any" type
> * support generic pojo type, eg:CustomGeneric<User>
> compare to standard protobuf:
> * extend "any" type, for standard not support cases, use "json" schema to codec it.
> compare to all:
> * just pojo, no need any code generation and annotation
> * one pojo can serialize to different version proto file to support different version server
> * wrap List<List<X>>/List<Map<X, Y>>/Map<X, List<Y>>/Map<X, Map<Y, Z>> to standard proto idl, makes model more flexible
> * support text data come from http,can serrialize from different data type
> ** number fields (int32/int64 and so on)
> *** number
> *** String
> *** String[]
> ** string fields
> *** string
> *** string[]
> ** bool fields
> *** boolean
> *** string
> *** string[]
> ** enum fields
> *** enum
> *** number
> *** string
> *** string[]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)