I like the update to make the naming convention consistent, however, I
am not sure about using index values instead of key names.  I
understand that it will make the messages smaller and parsing slightly
faster, but I think this is counter to one of the stated goals of this
push which is

"Hopefully this new transport will be easier to work with for client
authors working in non-Java languages."

>From a high-level view I think developers comfortable binding this
closely to a Protobuf object may be better suited to just using the
client/server protocol based on ProtoBufs.  I like the idea of a
message protocol that is easy to understand by just looking at the
format and I think it will relay better to external developers not as
well versed with native Google tools.

R,

Anthony

On May 12, 10:02 pm, Joseph Gentle <[email protected]> wrote:
> Right - so change it to something like this then?
>
> // In waveclient-rpc.proto
> message WebSocketRPCMessage {
>   required uint32 version = 1;
>   required uint64 sequence_number = 2;
>   required string message_type = 3; // We wouldn't actually need this 
> anymore...
>
>   // At least one of these must be set
>   optional ProtocolOpenRequest open_request = 10;
>   optional ProtocolWaveletUpdate wavelet_update = 11;
>   optional ProtocolSubmitRequest submit_request = 12;
>   optional ProtocolSubmitResponse submit_response = 13;
>   // .... more added later?
>
> }
>
> ... And pretty printed, the JSON message looks like this:
> {
>  "1":0,
>  "2":1,
>  "3":"webserver.ProtocolOpenRequest",
>  "10":
>  {
>    "1":"[email protected]",
>    "2":indexwave!indexwave",
>    "3":[""]
>  }
>
> }
>
> Doing that trick with a series of optional message types can make
> parsing faster than if you send the type as another string. (You can
> be sure you'll always have parsed the key before the message, so you
> know the message's type. That lets you read it directly without using
> intermediate representations.)
>
> -Joseph
>
>
>
>
>
> On Thu, May 13, 2010 at 9:28 AM, J.D. Zamfirescu <[email protected]> wrote:
> > Hey!
>
> > That would be great. In fact, what we want to do is further use the
> > protobuf indexes instead of the key names. If you can pull this off on
> > the client and server that would also be excellent.
>
> > And, yes, a version number bump would be great, and we are working on
> > client-side websocket stuff but we need to do this anyway. :)
>
> > Thanks!
>
> > J.D.
>
> > On Wed, May 12, 2010 at 6:06 PM, Joseph Gentle <[email protected]> wrote:
> >> There's a couple changes I'd like to make to the fedone websocket
> >> message protocol:
> >> - The JSON currently has inconsistent naming conventions
> >> (sequenceNumber vs participant_id - see below)
> >> - WebSocketChannel.MessageWrapper should embed the message as a JSON
> >> object, not a JSON object encoded inside a string. (The latter is
> >> sloppy to send and use).
>
> >> Currently messages look like this:
> >> {
> >>  "version":0,
> >>  "sequenceNumber":1,
> >>  "messageType":"waveserver.ProtocolOpenRequest",
> >>  "messageJson": "{
> >>    \"participant_id\": \"[email protected]\",\"wave_id\":
> >> \"indexwave!indexwave\",\"wavelet_id_prefix\": [\"\"]}"
> >> }
>
> >> ... I'd like to change it to this:
> >> {
> >>  "version":0,
> >>  "sequence_number":1,
> >>  "message_type":"webserver.ProtocolOpenRequest",
> >>  "message":
> >>  {
> >>    "participant_id":"[email protected]",
> >>    "wave_id":indexwave!indexwave",
> >>    "wavelet_id_prefix":[""]
> >>  }
> >> }
>
> >> Questions:
> >> - Should I just write & submit a patch? Who should I send it to?
> >> - Should I bump the protocol version number for a change like this?
> >> - How many people are effected by changes like this? (Are many people
> >> working on client code using websockets?)
>
> >> Cheers
> >> Joseph
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Wave Protocol" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/wave-protocol?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to