WebSocket client API
Pavel Rappo
pavel.rappo at oracle.com
Tue Oct 6 10:27:28 UTC 2015
Hi,
Here's an update on the WebSocket API. This iteration tries to address all
issues have been discussed so far:
webrev: http://cr.openjdk.java.net/~prappo/8087113/webrev.01/
javadoc: http://cr.openjdk.java.net/~prappo/8087113/javadoc.01/
Main differences from the previous version:
* Extension support has been postponed and remains an open issue [1]
* WebSocket.Builder now also accepts HttpRequest.Builder (for providing
custom opening handshake headers)
* Outgoing is gone, instead a user can send incomplete Binary and Text
messages with ByteBuffers and CharSequences directly
* Incoming is gone, instead WebSocket.Builder provides a handler
assigning method per event (message or error)
* Async methods take a custom context object and a potentially reusable
completion handler (NIO2 style)
* The API is now j.u.c.Flow-friendly
-------------------------------------------------------------------------------
[1] https://bugs.openjdk.java.net/browse/JDK-8138949;
That doesn't mean the default implementation won't support
'permessage-deflate'.
-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