jsr356-experts@websocket-spec.java.net

[jsr356-experts] Implementation niggles

From: Mark Thomas <mark_at_homeinbox.net>
Date: Fri, 12 Oct 2012 12:16:53 +0100

I have started to add the EDR / v6 API to Tomcat trunk and have noticed
the following niggles. Most of them relate to the API, some of them are
specific to the RI.

1. DecodeException / EncodeException
   Parameter ordering is inconsistent
   (ByteBuffer, String) vs. (String, Object)

2. DefaultClientConfiguration
   getExtensions() returns null
   setExtensions() has a parameter of preferredExtensions
     (should probably be extensions)

3. CloseReason
   No accessor for closeCode
   No accessor for reasonPhrase

4. Methods in public interfaces do not themselves need to be declared
   public. (style issue / choice)

5. Endpoint
   Parameter ordering is inconsistent
   onClose(Session, CloseReason) vs. onError(Throwable, Session)
   Parameter naming is inconsistent s vs. session

6. Generics
   API uses raw types in a few places.


My next step is to migrate Tomcat's current WebSocket implementation to
Servlet 3.1 upgrade and this API. I'll provide more feedback as I come
across things.

Mark