package DBIx::Class::Storage::DBI::Replicated::Balancer::Random;
-use List::Util qw(shuffle);
use Moose;
with 'DBIx::Class::Storage::DBI::Replicated::Balancer';
=cut
sub next_storage {
- return (shuffle(shift->pool->active_replicants))[0];
+ my $self = shift @_;
+ my @active_replicants = $self->pool->active_replicants;
+ my $count_active_replicants = $#active_replicants +1;
+ my $random_replicant = int(rand($count_active_replicants));
+
+ return $active_replicants[$random_replicant];
}
=head1 AUTHOR
=cut
+__PACKAGE__->meta->make_immutable;
+
1;
\ No newline at end of file