Hi John, Before you go too far with Erlang -- I have an implementation that's maybe half done that I started at the recent hackathon. I'll try to push this to a public repository so you can continue from there rather than starting fresh if you like.
Thanks -Todd On Tue, Dec 8, 2009 at 1:11 AM, john malkovich <cktg...@gmail.com> wrote: > hello everyone, > thank you for such a wonderful project. > ufortunately there is no erlang implementation of avro so I have taken the > liberty to attempt such a task. as soon as I get something working I'll put > up the code, and if someone else is working on the same thing please let me > know - Im more than open to collaboration since my goal is to get and use a > working erlang avro lib. > Im reading the python implementation in details, as well as the 1.3 > specification. the spec unfortunately is not clear (to me) in some parts so > I would like to ask the questions here and hopefully someone can provide > some clues/answers. > > handshake request > its mentioned that a hash of the json protocol schema is sent on each > request to the server > > { > "type": "record", > "name": "HandshakeRequest", "namespace":"org.apache.avro.ipc", > "fields": [ > {"name": "clientHash", > "type": {"type": "fixed", "name": "MD5", "size": 16}}, > {"name": "clientProtocol", "type": ["null", "string"]}, > {"name": "serverHash", "type": "MD5"}, > {"name": "meta", "type": ["null", {"type": "map", "values": "bytes"}]} > ] > } > > so the question is: > - both "clientHash" and "serverHash" should be replaced with the > actual hash of the protocol json definitions? > - what is the "server protocol"? if client and server are compatible > dont they both use the same protocol definition? > - the "type": ["null", "string"] syntax means that "type" key has > either "null" or "string" value? >