hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: SocketConfig (v5)
Date Thu, 30 Mar 2017 00:31:00 GMT
On 29 March 2017 at 21:50, Gary Gregory <garydgregory@gmail.com> wrote:
> I really want to do this TimeValue thing but when I look at Java 8, I see
> the Duration class.
>
> So why not move HC to Java 8? Why are we hung up on Java 7?

We keep having this discussion.
Just because the Java 8 suits developers does not mean it suits users.

There are lots of users who cannot upgrade easily (or at all) so we
should not exclude them just because it is a bit easier for some devs.

> Gary
>
> On Thu, Feb 16, 2017 at 6:47 AM, sebb <sebbaz@gmail.com> wrote:
>
>> On 15 February 2017 at 19:10, Gary Gregory <garydgregory@gmail.com> wrote:
>> > On Wed, Feb 15, 2017 at 7:49 AM, sebb <sebbaz@gmail.com> wrote:
>> >
>> >> On 15 February 2017 at 05:20, Gary Gregory <garydgregory@gmail.com>
>> wrote:
>> >> > I like the idea of having at least setTimeout(long, TimeUnit), and
as
>> a
>> >> > convenience setTimeoutMillis. This is Millis because milliseconds is
>> the
>> >> > underlying scale used by the socket API.
>> >> >
>> >> > The question is whether we should add a TimeValue class
>> >> > setTimeout(TimeValue). The next step is to have a TimeValue subclass
>> >> called
>> >> > Timeout to make the API even more strongly typed.
>> >>
>> >> Not sure I see why a timeout period is different from any other time
>> >> period.
>> >> So I don't see how it helps to use a different class for the setTimeout
>> >> method.
>> >>
>> >> Would there also be a SleepTime sub-class for a pause function?
>> >>
>> >
>> > I do not see use cases at this time for more TimeValue subclasses. It
>> > really depends if there is a chance of confusion from the call site's
>> POV.
>> > For, now, I think a TimeValue class will be enough.
>>
>> I agree.
>>
>> However I took your mail to mean you wanted to create a subclass of
>> TimeValue called TimeOut:
>>
>> <quote>
>> The next step is to have a TimeValue subclass called
>> Timeout to make the API even more strongly typed.
>>
>> We could end up with:
>>
>> setTimeout(long, TimeUnit)
>> setTimeoutMillis(long)
>> setTimeout(Timeout)
>> </quote>
>>
>> Do you still think a TimeOut subclass is needed?
>>
>>
>> > Gary
>> >
>> >
>> >>
>> >> > We could end up with:
>> >> >
>> >> > setTimeout(long, TimeUnit)
>> >> > setTimeoutMillis(long)
>> >> > setTimeout(Timeout)
>> >> >
>> >> > ?
>> >> > Gary
>> >> >
>> >> > On Fri, Feb 10, 2017 at 4:15 PM, sebb <sebbaz@gmail.com> wrote:
>> >> >
>> >> >> Does it make sense to use timeout units other than seconds?
>> >> >>
>> >> >> If not, just use
>> >> >>
>> >> >> [get|set]TimeoutSeconds
>> >> >>
>> >> >> Or if there is a need for milliseconds, then either add
>> >> >>
>> >> >> [get|set]TimeoutMilliSeconds
>> >> >>
>> >> >> or only provide that.
>> >> >>
>> >> >>
>> >> >>
>> >> >> On 10 February 2017 at 19:51, Gary Gregory <garydgregory@gmail.com>
>> >> wrote:
>> >> >> > On Fri, Feb 10, 2017 at 2:10 AM, Oleg Kalnichevski <
>> olegk@apache.org>
>> >> >> wrote:
>> >> >> >
>> >> >> >> On Thu, 2017-02-09 at 14:18 -0800, Gary Gregory wrote:
>> >> >> >> > On Thu, Feb 9, 2017 at 1:56 PM, Bhowmik, Bindul
>> >> <bindulbhowmik@gmail.
>> >> >> >> > com>
>> >> >> >> >
>> >> >> >>
>> >> >> >> ...
>> >> >> >>
>> >> >> >> > > How about getSoTimeout(TimeUnit) ? Maybe in
addition to
>> >> >> >> > > getSoTimeoutMillis().
>> >> >> >> > >
>> >> >> >> >
>> >> >> >> > I'm fine with that. My concern is mostly on the setter
side.
>> >> >> >> >
>> >> >> >> > Gary
>> >> >> >> >
>> >> >> >>
>> >> >> >> I find getter / setter inconsistency equally not-nice.
What about
>> >> using
>> >> >> >> a tuple class for all time value settings
>> >> >> >>
>> >> >> >> class TimeValue {
>> >> >> >>   long value;
>> >> >> >>   TimeUnit unit;
>> >> >> >>
>> >> >> >> }
>> >> >> >>
>> >> >> >> Or some such?
>> >> >> >>
>> >> >> >
>> >> >> > Maybe... this becomes wordy though:
>> >> >> >
>> >> >> > config.setTimeout(TimeValue.of(1, TimeUnit.SECONDS));
>> >> >> >
>> >> >> > instead of
>> >> >> >
>> >> >> > config.setTimeout(1, TimeUnit.SECONDS);
>> >> >> >
>> >> >> > which is what I see in the JRE here and there.
>> >> >> >
>> >> >> > The nice thing about TimeValue is that the object that uses
it does
>> >> not
>> >> >> > need to worry about scale in its implementation.
>> >> >> >
>> >> >> > If I am coding a Socket class, I have to remember that soTimeout
>> is in
>> >> >> > milliseconds. If I write the ivar as "soTimeoutMillis" I am
>> >> documenting
>> >> >> the
>> >> >> > scale but I am not enforcing it.
>> >> >> >
>> >> >> > So I can see that TimeValue, DistanceValue and so one would
make
>> for
>> >> >> safer
>> >> >> > modeling. Less risk of crashing that Mars craft because one
team
>> was
>> >> >> > thinking in metric units and the other in imperial units.
>> >> >> >
>> >> >> > So from an implementer's POV I like TimeValue. But from a
user's
>> POV
>> >> >> should
>> >> >> > I have the convenience of setTimeout(long, TimeUnit) AND
>> >> >> > setTimeout(TimeValue).
>> >> >> >
>> >> >> > Gary
>> >> >> >
>> >> >> >
>> >> >> >> Oleg
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> > >
>> >> >> >> > > Bindul
>> >> >> >> > >
>> >> >> >> > > >
>> >> >> >> > > > Gary
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > > > Oleg
>> >> >> >> > > > >
>> >> >> >> > > > > ------------------------------
>> ------------------------------
>> >> -
>> >> >> >> > > > > --------
>> >> >> >> > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> >> >> >> > > > > For additional commands, e-mail: dev-help@hc.apache.org
>> >> >> >> > > > >
>> >> >> >> > > > >
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > > --
>> >> >> >> > > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> >> >> >> > > > Java Persistence with Hibernate, Second
Edition
>> >> >> >> > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> >> >> >> > >
>> >> >> >> > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
>> >> >> >> > > linkCode=as2&tag=garygregory-
>> >> >> >> > > 20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>> >> >> >> > > >
>> >> >> >> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
>> >> >> >> > > > 20&l=am2&o=1&a=
>> >> >> >> > >
>> >> >> >> > > 1617290459>
>> >> >> >> > > > JUnit in Action, Second Edition
>> >> >> >> > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> >> >> >> > >
>> >> >> >> > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
>> >> >> >> > > linkCode=as2&tag=garygregory-
>> >> >> >> > > 20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
>> >> >> >> > > > 20&l=am2&o=1&a=
>> >> >> >> > >
>> >> >> >> > > 1935182021>
>> >> >> >> > > > Spring Batch in Action
>> >> >> >> > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> >> >> >> > >
>> >> >> >> > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
>> >> >> >> > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> >> >> >> > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> >> >> >> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
>> >> >> >> > > > 20&l=am2&o=1&a=
>> >> >> >> > >
>> >> >> >> > > 1935182951>
>> >> >> >> > > > Blog: http://garygregory.wordpress.com
>> >> >> >> > > > Home: http://garygregory.com/
>> >> >> >> > > > Tweet! http://twitter.com/GaryGregory
>> >> >> >> > >
>> >> >> >> > > ------------------------------------------------------------
>> >> -----
>> >> >> >> > > ----
>> >> >> >> > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> >> >> >> > > For additional commands, e-mail: dev-help@hc.apache.org
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> >
>> >> >> >> >
>> >> >> >>
>> >> >> >> ------------------------------------------------------------
>> >> ---------
>> >> >> >> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> >> >> >> For additional commands, e-mail: dev-help@hc.apache.org
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> >> >> > Java Persistence with Hibernate, Second Edition
>> >> >> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> >> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
>> >> >> linkCode=as2&tag=garygregory-20&linkId=
>> cadb800f39946ec62ea2b1af9fe6a2
>> >> b8>
>> >> >> >
>> >> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> >> garygregory-20&l=am2&o=1&a=
>> >> >> 1617290459>
>> >> >> > JUnit in Action, Second Edition
>> >> >> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> >> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
>> >> >> linkCode=as2&tag=garygregory-20&linkId=
>> 31ecd1f6b6d1eaf8886ac902a24de4
>> >> 18%22
>> >> >> >
>> >> >> >
>> >> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> >> garygregory-20&l=am2&o=1&a=
>> >> >> 1935182021>
>> >> >> > Spring Batch in Action
>> >> >> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> >> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
>> >> >> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> >> >> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> >> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> >> garygregory-20&l=am2&o=1&a=
>> >> >> 1935182951>
>> >> >> > Blog: http://garygregory.wordpress.com
>> >> >> > Home: http://garygregory.com/
>> >> >> > Tweet! http://twitter.com/GaryGregory
>> >> >>
>> >> >> ------------------------------------------------------------
>> ---------
>> >> >> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> >> >> For additional commands, e-mail: dev-help@hc.apache.org
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> >> > Java Persistence with Hibernate, Second Edition
>> >> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
>> >> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2
>> b8>
>> >> >
>> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> garygregory-20&l=am2&o=1&a=
>> >> 1617290459>
>> >> > JUnit in Action, Second Edition
>> >> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
>> >> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
>> 18%22
>> >> >
>> >> >
>> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> garygregory-20&l=am2&o=1&a=
>> >> 1935182021>
>> >> > Spring Batch in Action
>> >> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> >> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
>> >> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> >> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> >> > <http:////ir-na.amazon-adsystem.com/e/ir?t=
>> garygregory-20&l=am2&o=1&a=
>> >> 1935182951>
>> >> > Blog: http://garygregory.wordpress.com
>> >> > Home: http://garygregory.com/
>> >> > Tweet! http://twitter.com/GaryGregory
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> >> For additional commands, e-mail: dev-help@hc.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> > Java Persistence with Hibernate, Second Edition
>> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
>> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>> >
>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> 1617290459>
>> > JUnit in Action, Second Edition
>> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
>> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
>> >
>> >
>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> 1935182021>
>> > Spring Batch in Action
>> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
>> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
>> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
>> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
>> 1935182951>
>> > Blog: http://garygregory.wordpress.com
>> > Home: http://garygregory.com/
>> > Tweet! http://twitter.com/GaryGregory
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>> For additional commands, e-mail: dev-help@hc.apache.org
>>
>>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
> JUnit in Action, Second Edition
> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
> Spring Batch in Action
> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message