jsr356-experts@websocket-spec.java.net

[jsr356-experts] Re: [jsr356-users] Re: Updated Spec: v005: Close to EDR

From: Scott Ferguson <ferg_at_caucho.com>
Date: Wed, 19 Sep 2012 12:49:51 -0700

On 09/19/2012 12:34 PM, Danny Coward wrote:
> On 9/14/12 5:10 PM, Scott Ferguson wrote:
>> On 09/14/2012 04:44 PM, Danny Coward wrote:
>>> Hi folks,
>>>
>>> I've updated the specification document and API again this week. I'm
>>> still looking for review comments. This week only some smaller
>>> changes, the API tweaks arising from our work on the reference
>>> implementation (see below).
>>
>> There needs to be a Encoder.BinaryStream and Encoder.CharacterStream
>> and corresponding Decoders (names can be different of course.)
>
> Thanks Scott.
>
> I guess that would allow the encoders and decoders to be stream-based.
> Something like:
>
> public interface Encoder.CharacterStream<T> extends Encoder {
> public Reader encode(T object) throws EncodeException;
> }
>
> (and analagous for binary encoder & the Decoders) ?

Yes, but different signature:

   public void encode(Writer writer, T object);
   public T decode(Reader reader);

   public void encode(OutputStream os, T object);
   public T decode(InputStream is);

where the streams come from the websocket implementation (not the
encoder/decoder).

That will match up nicely with existing remoting systems, making them
easy to implement. Efficient too, because they can be implemented
without any extra buffering needed for either direction.

-- Scott

>
> - Danny
>>
>> Otherwise, this looks like a good draft to me.
>>
>> -- Scott
>>
>>>
>>> The v005 API is in the source repository, under the v005 branch.
>>> http://java.net/projects/websocket-spec/sources
>>>
>>> spec document and javadoc here:-
>>> http://java.net/projects/websocket-spec/downloads/directory/Spec%20javadoc%20Drafts/v005
>>>
>>> Changes
>>>
>>> - added to the security chapter in the specification.
>>> - bolstered up some of the javadoc here and there, esp annotations
>>> - added missing constructors on DecodeException
>>> - add WebSocketError annotation, mirroring other lifecycle annotations.
>>>
>>> We have had a number of drafts and revisions now, and I think with
>>> one more round of review next week and comment we are almost ready
>>> for Expert Draft review. Many of you will know all about this stage,
>>> but the main point is that it allows us to get review from a wider
>>> audience. Not everything has to be finished, or complete. But I
>>> think we have a lot of our content in place, and with another round
>>> of review, it will be in good enough shape for new readers to give
>>> us good feedback on what is there.
>>>
>>> We have made the RI project public now: its at
>>> http://java.net/projects/tyrus/ if you want to take a look. Still a
>>> work in progress, but it is tracking the v003 API.
>>>
>>> Cheers,
>>>
>>> - Danny
>>>
>>>
>>> --
>>> <http://www.oracle.com> *Danny Coward *
>>> Java EE
>>> Oracle Corporation
>>>
>>
>>
>
>
> --
> <http://www.oracle.com> *Danny Coward *
> Java EE
> Oracle Corporation
>