Closed glassfishrobot closed 11 years ago
@glassfishrobot Commented Reported by dannycoward
@glassfishrobot Commented dannycoward said: Many of these issues have been integrated into v008. There are still a few left, so I am keep this issue open until v009.
@glassfishrobot Commented dannycoward said: these issues are all now resolved in v014
@glassfishrobot Commented Was assigned to dannycoward
@glassfishrobot Commented This issue was imported from java.net JIRA WEBSOCKET_SPEC-58
@glassfishrobot Commented Marked as fixed on Tuesday, February 26th 2013, 11:36:23 am
This from Joakim Erdfelt from Intalio
1) ServerContainer and ServerEndPointContainer are duplicate classes (removed in v008) 2) DefaultClientConfiguration.getExtensions() will always return null. (fixed in v008) 3) CloseReason.CloseCodes is missing 2 status codes. (these have been added in v008) SERVICE_RESTART(1012) TRY_AGAIN_LATER(1013) They were proposed and accepted after RFC 6455 was final. Discussion here ... https://www.ietf.org/mail-archive/web/hybi/current/msg09649.html They are formally registered at https://www.iana.org/assignments/websocket/websocket.xml#close-code-number-rules 4) There needs to be clearer javadoc on the CloseReason.CloseCodes as to the various rules around them. (Can only be sent by Server, only by Client, cannot be sent over connection, etc ...) 5) Timeouts are declared as seconds, but in other network protocols timeouts are defined as milliseconds. Would recommend that we stick with the millisecond level accuracy. (milliseconds in v008) Example: http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#setSoTimeout(int 6) Typo in ClientContainer.getMaxTextMessageBufferSize() "wed socket" (fixed v008) 7) ClientEndpointConfiguration needs .setCookieStore(java.net.CookieStore) to satisfy authenticated user requirements. 8) ClientEndpointConfiguration getter such as .getDecoders() and .getExtensions() (and probably all API getters) should be clear as to if they are allowed to return null, and if they are collections, should they always return a collection object, even if its empty? I see language about returning modifiable collections and whatnot, that's of great help, lets get more detailed please. (some fixed in v008, more to do) 9) Need clarification if various collection setters, like ClientEndpointConfiguration.setEncoders() should use the collection as-is (helping with memory, but not with threading) or should copy the collection entries (if so, shallow or deep copy)? 10) Various setExtension() .getExtension() javadoc should indicate if the being referenced is a full ANBF extension (extension-token ";" extension-param), or just the extension name. (RFC-6455, Section
Consider an ExtensionConfig interface instead.
Example:
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfig.java?h=ws-refactor
11) The default Session.getRemote() should use what implementation?