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.bor...@gmail.com> wrote: > > Hi, > > On Tue, May 3, 2016 at 5:23 PM, Pavel Rappo <pavel.ra...@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