RFR JDK-8087113: Websocket API and implementation
Pavel Rappo
pavel.rappo at oracle.com
Thu May 5 21:29:31 UTC 2016
Hello Simone, thanks again for looking into this!
Generally speaking I took some time to get rid of multiple thread dispatching
(incl. internal "Flow"s) and simplified the code a bit. I don't think it's a
very practical thing to do, to get into all details as you could easily compare
two consecutive webrevs (03/04) and will get much more fine-grained view.
It's always a "single dispatch" now. Both on reading and writing sides. Whether
or not it is worth spending more time _right now_ to turn it to a "zero
dispatch" is a question. Devil is in detail and though it looks indeed less
exhausting for a machine, it might mean quite a bit of extra programming now:
security context checks depending on the calling thread, stack overflow problems
due to a same-thread execution:
request
send
request
send
...
etc. All these will require careful examination. I have put it in my TODO list
[1]. Feel free to have a look at it, you may find there other ideas you've
mentioned, including exceptions behaviour.
I would like to proceed with initial push and continue working on improvements.
--------------------------------------------------------------------------------
[1] https://bugs.openjdk.java.net/browse/JDK-8155621
> On 5 May 2016, at 21:28, Simone Bordet <simone.bordet at gmail.com> wrote:
>
> Hi,
>
> On Tue, May 3, 2016 at 5:23 PM, Pavel Rappo <pavel.rappo at oracle.com> wrote:
>>
>> Hello,
>>
>> Here's an updated webrev with the latest implementation:
>>
>> http://cr.openjdk.java.net/~prappo/8087113/webrev.04/
>
> Can you please summarize what's different from the previous ?
>
> I had a very quick look, but exception throwing, thread dispatching,
> multi-nested synchronization, incorrect handling of non-blocking
> writes (if I understand the code correctly) are still there.
>
> Thanks !
>
> --
> Simone Bordet
> http://bordet.blogspot.com
> ---
> Finally, no matter how good the architecture and design are,
> to deliver bug-free software with optimal performance and reliability,
> the implementation technique must be flawless. Victoria Livschitz
More information about the net-dev
mailing list