On Tue, 2017-02-14 at 21:20 -0800, Gary Gregory 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.
> 
> We could end up with:
> 
> setTimeout(long, TimeUnit)
> setTimeoutMillis(long)
> setTimeout(Timeout)
> 
> ?
> Gary
> 

Gary


Feel free to exercise your judgment here. Please do keep SocketConfig,
IOReactorConfig in core and RequestConfig in client consistent, though.

Cheers

Oleg


> On Fri, Feb 10, 2017 at 4:15 PM, sebb <[email protected]> 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 <[email protected]>
> > 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 <bindulbhowmi
> > > > > k@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: [email protected]
> > > > > > > > For additional commands, e-mail: [email protected]
> > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > --
> > > > > > > E-Mail: [email protected] | [email protected]
> > > > > > > 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: [email protected]
> > > > > > For additional commands, e-mail: [email protected]
> > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > 
> > > > -------------------------------------------------------------
> > > > --------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > > 
> > > > 
> > > 
> > > 
> > > --
> > > E-Mail: [email protected] | [email protected]
> > > 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: [email protected]
> > For additional commands, e-mail: [email protected]
> > 
> > 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to