PageRenderTime 10ms CodeModel.GetById 2ms app.highlight 7ms RepoModel.GetById 0ms app.codeStats 0ms

/library/Zend/Service/WindowsAzure/RetryPolicy/RetryPolicyAbstract.php

https://bitbucket.org/hamidrezas/melobit
PHP | 77 lines | 16 code | 6 blank | 55 comment | 0 complexity | bfa5dfd1dc512a0eb9eb946d6f35c6a3 MD5 | raw file
Possible License(s): AGPL-1.0
 1<?php
 2/**
 3 * Zend Framework
 4 *
 5 * LICENSE
 6 *
 7 * This source file is subject to the new BSD license that is bundled
 8 * with this package in the file LICENSE.txt.
 9 * It is also available through the world-wide-web at this URL:
10 * http://framework.zend.com/license/new-bsd
11 * If you did not receive a copy of the license and are unable to
12 * obtain it through the world-wide-web, please send an email
13 * to license@zend.com so we can send you a copy immediately.
14 *
15 * @category   Zend
16 * @package    Zend_Service_WindowsAzure
17 * @subpackage RetryPolicy
18 * @version    $Id: RetryPolicyAbstract.php 24594 2012-01-05 21:27:01Z matthew $
19 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
20 * @license    http://framework.zend.com/license/new-bsd     New BSD License
21 */
22
23/**
24 * @see Zend_Service_WindowsAzure_Exception
25 */
26require_once 'Zend/Service/WindowsAzure/Exception.php';
27
28/**
29 * @see Zend_Service_WindowsAzure_RetryPolicy_NoRetry
30 */
31require_once 'Zend/Service/WindowsAzure/RetryPolicy/NoRetry.php';
32
33/**
34 * @see Zend_Service_WindowsAzure_RetryPolicy_RetryN
35 */
36require_once 'Zend/Service/WindowsAzure/RetryPolicy/RetryN.php';
37
38/**
39 * @category   Zend
40 * @package    Zend_Service_WindowsAzure
41 * @subpackage RetryPolicy
42 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
43 * @license    http://framework.zend.com/license/new-bsd     New BSD License
44 */
45abstract class Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract
46{
47    /**
48     * Execute function under retry policy
49     *
50     * @param string|array $function       Function to execute
51     * @param array        $parameters     Parameters for function call
52     * @return mixed
53     */
54    public abstract function execute($function, $parameters = array());
55
56    /**
57     * Create a Zend_Service_WindowsAzure_RetryPolicy_NoRetry instance
58     *
59     * @return Zend_Service_WindowsAzure_RetryPolicy_NoRetry
60     */
61    public static function noRetry()
62    {
63        return new Zend_Service_WindowsAzure_RetryPolicy_NoRetry();
64    }
65
66    /**
67     * Create a Zend_Service_WindowsAzure_RetryPolicy_RetryN instance
68     *
69     * @param int $count                    Number of retries
70     * @param int $intervalBetweenRetries   Interval between retries (in milliseconds)
71     * @return Zend_Service_WindowsAzure_RetryPolicy_RetryN
72     */
73    public static function retryN($count = 1, $intervalBetweenRetries = 0)
74    {
75        return new Zend_Service_WindowsAzure_RetryPolicy_RetryN($count, $intervalBetweenRetries);
76    }
77}