Actually, a modification and note...
NOTE: Obviously, host/port might apply to more than 1 ProxyType or all.
This is just example.
And, I would define SniProxyConfiguration as...
interface SniProxyConfiguration {
default ProxyType getType() {
return ProxyType.SNI;
}
String getHost();
int getPort();
}
-j
On Mon, Mar 9, 2020 at 11:29 AM John Blum <[email protected]> wrote:
> +1 to using an Enum over separate methods. Less is more and having a
> smaller footprint (API) is better than an overloaded one where the number
> of methods could easily explode. That is smart design.
>
> Additionally, it is not hard to introduce a bit more abstraction if the
> parameters might vary by ProxyType.
>
> For example:
>
> setProxy(ProxyConfiguration config)
>
> Where ProxyConfiguration is defined as...
>
> interface ProxyConfiguration {
>
> ProxyType getType();
>
> }
>
> Then:
>
> interface SniProxyConfiguration extends ProxyConfiguration {
>
> String getHost();
>
> int getPort();
>
> }
>
> Food for thought,
>
> -j
>
>
> On Mon, Mar 9, 2020 at 11:21 AM Dan Smith <[email protected]> wrote:
>
>> > What is your thinking about using the enum vs specific named API’s (e.g.
>> setPoolProxyWithSNI).
>>
>> I think the nice thing about the enum is over separate methods is that
>> it's
>> strongly typed, but it might still allow us to support additional proxy
>> types in the future with less modifications for code that wraps the API
>> (eg, cache.xml), or Spring Data Geode. It also makes it clear you can only
>> set one type of proxy.
>>
>> +1 to what Bill said. I could be convinced to use setProxy(ProxyType,
>> String host, int port) however.
>>
>> -Dan
>>
>>
>> On Mon, Mar 9, 2020 at 10:54 AM Bill Burcham <[email protected]>
>> wrote:
>>
>> > By popular demand we are extending the RFC review period. I know Udo
>> asked
>> > for Friday (and Joris +1'd it), but since this is a small RFC, we'd
>> like to
>> > try to close it by Wednesday, March 11, ok?
>> >
>> > On Mon, Mar 9, 2020 at 10:39 AM Jacob Barrett <[email protected]>
>> wrote:
>> >
>> > > I raised similar concerns as a comment in the RFC.
>> > >
>> > > > On Mar 9, 2020, at 10:29 AM, Anthony Baker <[email protected]>
>> wrote:
>> > > >
>> > > > Given this new API:
>> > > >
>> > > > setPoolProxy(ProxyType type, String proxyAddress)
>> > > >
>> > > > The ProxyType enum seems to be a look ahead at supporting other
>> kinds
>> > of
>> > > proxies. What is your thinking about using the enum vs specific named
>> > > API’s (e.g. setPoolProxyWithSNI).
>> > > >
>> > > > Currently the definition of the proxyAddress seems to be dependent
>> of
>> > > the proxy type. Did you consider stronger typing using an URI
>> parameter
>> > > type?
>> > > >
>> > > > Anthony
>> > > >
>> > > >
>> > > >
>> > > >> On Mar 6, 2020, at 11:04 AM, Bill Burcham <[email protected]>
>> > > wrote:
>> > > >>
>> > > >> Please review the RFC for *Client side configuration for a SNI
>> proxy*:
>> > > >>
>> > > >>
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/GEODE/Client+side+configuration+for+a+SNI+proxy
>> > > >>
>> > > >> Please comment by Monday, March 9, 2020.
>> > > >>
>> > > >> Regards,
>> > > >> Bill and Ernie
>> > > >
>> > >
>> >
>>
>
>
> --
> -John
> Spring Data Team
>
--
-John
Spring Data Team