Hi Arno,

this looks good. I had already reviewed your change.

Just as for one thing that Volker mentioned:

>- DefaultProxySelector.java
>
>322         return proxyList == null ? Arrays.asList(Proxy.NO_PROXY) : 
>proxyList;
>
>Not sure if it would make sense to preallocate a static List with a single
>Proxy.NO_PROXY element and always return that if proxyList equals null?

I also have the concern that if you return one static instance of the List, 
then someone could modify it. Alternatively one could preallocate a static list 
and return Collections.unmodifiableList() from it. But I don't know if that 
makes things faster or is even more overhead compared to always generating a 
new List.

Best regards
Christoph

> -----Original Message-----
> From: net-dev [mailto:net-dev-boun...@openjdk.java.net] On Behalf Of Zeller,
> Arno
> Sent: Mittwoch, 21. Dezember 2016 13:53
> To: Volker Simonis <volker.simo...@gmail.com>
> Cc: net-dev@openjdk.java.net
> Subject: RE: RFR:8170868: DefaultProxySelector should use system defaults on
> Windows, MacOS and Gnome
> 
> Hi Volker,
> 
> thanks for your valuable comments! I have a new patch ready that should
> address your issues and contains also a forgotten change to the map file...
> 
> New webrev: http://cr.openjdk.java.net/~clanger/webrevs/8170868.1/
> 
> 
> >- make/lib/NetworkingLibraries.gmk
> ...
> >Have you tried to use
> >LIBNET_EXCLUDE_FILES :=
> >$(JDK_TOPDIR)/src/java.base/unix/native/libnet/DefaultProxySelector.c
> >
> >I think this should work and it would mke it possible to rename:
> >src/java.base/macosx/native/libnet/DefaultProxySelector_mac.c
> >to:
> >src/java.base/macosx/native/libnet/DefaultProxySelector.c
> >which is much nicer IMHO :)
> 
> Great idea - it works and is of course the much nicer solution!
> 
> >- DefaultProxySelector.java
> >
> >322         return proxyList == null ? Arrays.asList(Proxy.NO_PROXY) :
> >proxyList;
> >
> >Not sure if it would make sense to preallocate a static List with a single
> >Proxy.NO_PROXY element and always return that if proxyList equals null?
> 
> I return a new List object each time, because the select(URI uri) method does
> not state anything about
> not modifying the returned list. In case I return a static list containing 
> only the
> NO_PROXY element
> a caller could remove the object from the list and other caller would use the
> same modified list.
> To avoid this I always create a new List object.
> 
> >- java.base/unix/native/libnet/DefaultProxySelector.c
> >
> >You've removed "#include <strings.h>". Have you built on all Unix platforms
> >(AIX, Solaris) to make sure you don't break anything?
> 
> It compiled on Linux, AIX, Solaris and Mac without problems for me.
> 
> >- java.base/windows/native/libnet/DefaultProxySelector.c
> >
> >Not sure if I understand this right, but in the gconf case above you insert 
> >all
> >proxies returned by "g_proxy_resolver_lookup" into the prox-list returned by
> >DefaultProxySelector_getSystemProxies. In the Windows case you write:
> >
> > 247        * From MSDN: The proxy server list contains one or more of
> >the following strings separated by semicolons or whitespace.
> > 248        * ([<scheme>=][<scheme>"://"]<server>[":"<port>])
> > 249        * We will only take the first entry here because the
> >java.net.Proxy class has only one entry.
> >
> >Why can't you build up a proxy list here in the same way you do it for the
> >gconf case on Unix?
> 
> Sorry - I just forgot to implement it. Good that you found it. The new webrev
> contains the missing functionality.
> 
> >- src/java.base/macosx/native/libnet/DefaultProxySelector_mac.c
> >
> >  76 #define kResolveProxyRunLoopMode
> >CFSTR("com.sap.jvm.DefaultProxySelector")
> >
> >
> >I'm not familiar with the Mac programming model, but I don't think
> >"com.sap.jvm.DefaultProxySelector" is a good name for
> >kResolveProxyRunLoopMode. It should be something like
> >"java.net.DefaultProxySelector" but I'm open for better proposals :)
> 
> You are right - I changed it to "sun.net.spi.DefaultProxySelector".
> 
> >PS: for your next RFR, can you please also add the estimated sisze and the 
> >bug
> >id to the subject line (e.g. "RFR(M):
> >8170868:DefaultProxySelector should..."). This makes it much easier to find a
> >review thread :)
> 
> I'll do my best next time...
> 
> Best regards,
> Arno
> 
> >On Wed, Dec 14, 2016 at 5:06 PM, Zeller, Arno <arno.zel...@sap.com> wrote:
> >> Hi,
> >>
> >> can you please review my proposal for bug 8170868 - DefaultProxySelector
> >should use system defaults on Windows, MacOS and Gnome.
> >>
> >> Bug:
> >> https://bugs.openjdk.java.net/browse/JDK-8170868
> >>
> >> Webrev:
> >> http://cr.openjdk.java.net/~clanger/webrevs/8170868.0/
> >>
> >> Thanks a lot,
> >> Arno Zeller
> >>

Reply via email to