001/** 002 * Powerunit - A JDK1.8 test framework 003 * Copyright (C) 2014 Mathieu Boretti. 004 * 005 * This file is part of Powerunit 006 * 007 * Powerunit is free software: you can redistribute it and/or modify 008 * it under the terms of the GNU General Public License as published by 009 * the Free Software Foundation, either version 3 of the License, or 010 * (at your option) any later version. 011 * 012 * Powerunit is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 015 * GNU General Public License for more details. 016 * 017 * You should have received a copy of the GNU General Public License 018 * along with Powerunit. If not, see <http://www.gnu.org/licenses/>. 019 */ 020package ch.powerunit.extensions.async.lang; 021 022/** 023 * This interface can be used to specify retry configuration. 024 * 025 * @author borettim 026 * @since 1.0.0 027 * @see RetryPolicies 028 */ 029public interface RetryPolicy { 030 /** 031 * This is the number of retry to be done. 032 * 033 * @return the number of retry. 034 */ 035 int getCount(); 036 037 /** 038 * This is the method called to wait between a retry. 039 * 040 * @param retry 041 * the current retry (start at 1). A initial try has been done before 042 * any retry without wait time. 043 */ 044 void sleepBetweenRetry(int retry); 045}