PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` package Paws::API::Caller::Retry; use Moose::Role; requires 'do_call'; has max_tries => (is => 'ro', required => 1); has retry_type => (is => 'ro', required => 1); has retry_base => (is => 'ro', required => 1); has growth_factor => (is => 'ro', isa => 'Int', default => 2); has tries => (is => 'rw', default => 1); around 'do_call' => sub { my $self = shift; my $orig = shift; my $res; do { $res = $self->$orig(@_); $self->tries($self->tries - 1); } while ($self->is_throttling($res) and $self->has_tries_left); return $res; }; sub is_throttling { # verify res status # state of mapping between response error and it being a throlling @ service classes } 1;