hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: SocketConfig (v5)
Date Fri, 10 Feb 2017 19:51:34 GMT
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=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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message