WebSocket client API

Pavel Rappo pavel.rappo at oracle.com
Fri Oct 16 10:35:15 UTC 2015


Hi,

Here's a second update on the WebSocket API:

  webrev: http://cr.openjdk.java.net/~prappo/8087113/webrev.02/
  javadoc: http://cr.openjdk.java.net/~prappo/8087113/javadoc.02/

Main differences from the previous version:

  * WebSocket has become an abstract class
  * New methods in Builder: headers, connectTimeout
  * WebSocket.Builder no longer accepts HttpRequest.Builder; only HttpClient
  * One Listener instead of many onXXX handlers
  * Completion handlers with custom contexts are gone; send methods return
    CompletableFuture<WebSocket>
  * onXXX methods in Listener return CompletableFuture<?> as a means of
    asynchronous completion signalling
  * StatusCode is now ClosureCode

-Pavel

> On 31 Aug 2015, at 15:30, Pavel Rappo <pavel.rappo at oracle.com> wrote:
> 
> Hi,
> 
> I would appreciate if you help to review a WebSocket client API proposed for
> JDK 9. This work is a part of JEP-110 [1] and has started its public path with
> HTTP client review in March this year [2].
> 
> Proposed WebSocket API is relatively small and focuses on convenient exchange of
> data in a fully asynchronous fashion. API consists of 6 types located in the
> java.net package [3]:
> 
> 1. WebSocket
> 2. WebSocket.Builder
> 3. WebSocket.Incoming
> 4. WebSocket.Incoming.Chunks
> 5. WebSocket.Outgoing
> 6. WebSocketException
> 
> Starting point is a class description for java.net.WebSocket. Along with
> in-javadoc examples, several API test samples are provided in the webrev [4] and
> named test/java/net/WebSocket/Example%.java. They are only for informational
> purposes and won't be included in the final version of the API.
> 
> I would appreciate any feedback on this API. Thanks.
> 
> -------------------------------------------------------------------------------
> [1] http://openjdk.java.net/jeps/110
> [2] http://mail.openjdk.java.net/pipermail/net-dev/2015-March/008932.html
> [3] http://cr.openjdk.java.net/~prappo/8087113/javadoc.00/
> [4] http://cr.openjdk.java.net/~prappo/8087113/webrev.00/
> 
> -Pavel



More information about the net-dev mailing list