26-27/05/2016
Pattern
doHttpCall().retryWhen(errorObservable ->
errorObservable
.zipWith(Observable.range(1, numberOfRetries), Pair::of)
.flatMap(pair -> {
if(pair.getRight() == numberOfRetries) {
return Observable.error(pair.getLeft());
} else {
return Observable.timer(wait, TimeUnit.MILLISECONDS);
}
}));