I refactored the retry handlers a bit further, now the expect an
implicit Timer the same as other future-related methods expect an
ExecutionContext
Neither of these implicits will be provided in the base dispatch
package, but rather in a Defaults object if you want them. So, the
new boilerplate is:
import dispatch._
import dispatch.Defaults._
Or if you're already importing an execution context for Scala
futures, it will certainly apply for Dispatch as well. In that case
you would only need to import Defaults._ if using retries and need
the timer.
I also added tests for the retries, for the first time. It's a
little tricky since I don't want them to slow down the tests too
much, but with a fine-grained timer and short retry values it is
working pretty well.
https://github.com/dispatch/reboot/blob/sippy/core/src/test/scala/retry.scala
This all feels pretty close to release to me. I still need to update
the documentation, a lot, but other than that it should be good to
go.
Thanks Eugene, for taking an early look at 0.10.0. If anyone else
could give it a try, please write back with your experiences.
Nathan