[infinispan-dev] ProtoStream and ease of use

Emmanuel Bernard emmanuel at hibernate.org
Mon Jul 15 09:01:07 EDT 2013


Mircea, Adrian and I had an IRC chat on ProtoStream and ProtoStuff.

check out
http://transcripts.jboss.org/channel/irc.freenode.org/%23infinispan/2013/%23infinispan.2013-07-15.log.html
starting at 11:00 and finishing at 12:30

A short summary of what has been discussed:

- ProtoStream is a good cross-platform solution but
  - complicated for the simple pure Java case
  - encourages a technical superclass (EJB 2 !!!!!)
- ProtoStuff convention + annotation based approach
  https://code.google.com/p/protostuff/wiki/ProtostuffRuntime is nice
  for the pure Java case
- ProtoStuff is many things and has a non ProtoBuf compliant format for
  cycle ref and polymorphism
- ProtoStream supports unknown fields (future version of a schema),
  ProtoBuf does not
- we could build a convention based solution atop ProtoStream
  - assuming UnknownFieldSet and BaseMessage are optional
  - using (cross platform) conventions
  - with metadata to go beyond conventions (annotation, programmatic
    API, XML...)

        public long size; //uses fixed64 by default
        @PSType(UINT64) long size; //override protobuf type

- Infinispan will/could(?) have a repo of schema that can be queries
- we are talking about how the schema is resolved / generated
  - what we send through the wire is independent of the Proto*

A ProtoBuf vs ProtoStream comparison points
https://gist.github.com/mmarkus/5999646

Emmanuel


More information about the infinispan-dev mailing list