Algorithm-ConsistentHash-CHash

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

{
   "abstract" : "XS bindings to bundled Consistent Hash library",
   "author" : [
      "Eric Herman <eric@freesa.org>",
      "Sawyer X <xsawyerx@cpan.org>",
      "Steffen Mueller <smueller@cpan.org>"
   ],
   "dynamic_config" : 1,
   "generated_by" : "ExtUtils::MakeMaker version 7.18, CPAN::Meta::Converter version 2.143240",
   "license" : [
      "perl_5"
   ],

META.yml  view on Meta::CPAN

---
abstract: 'XS bindings to bundled Consistent Hash library'
author:
  - 'Eric Herman <eric@freesa.org>'
  - 'Sawyer X <xsawyerx@cpan.org>'
  - 'Steffen Mueller <smueller@cpan.org>'
build_requires:
  ExtUtils::MakeMaker: '0'
configure_requires:
  ExtUtils::MakeMaker: '0'
dynamic_config: 1
generated_by: 'ExtUtils::MakeMaker version 7.18, CPAN::Meta::Converter version 2.143240'

lib/Algorithm/ConsistentHash/CHash.pm  view on Meta::CPAN

our $VERSION = '0.04';

XSLoader::load('Algorithm::ConsistentHash::CHash', $VERSION);

1;

__END__

=head1 NAME

Algorithm::ConsistentHash::CHash - XS bindings to bundled Consistent Hash library

=head1 SYNOPSIS

    my $ch = Algorithm::ConsistentHash::CHash->new(
        ids      => [ 'server1', 'server2' ],
        replicas => 100,
    );

    my $node = $ch->lookup('foo');
    # $node is either server1 or server2, consistently

lib/Algorithm/ConsistentHash/CHash.pm  view on Meta::CPAN

=head1 DESCRIPTION

Consistent Hashing allows to spread data out across multiple IDs, ensuring
relatively-even distribution using replicas. The more replicas, the better
distribution (but lower performance).

Given a consistent hash, adding a node to the hash only requires reassigning
a minimal number of keys.

A C implementation of the Consistent Hash algorithm is bundled in this package,
along with the XS bindings to it. This might change in the future.

=head1 METHODS

=head2 new

    my $ch = Algorithm::ConsistentHash::CHash->new(
        ids      => [ @nodes_names ],
        replicas => $number_of_replicas,
    );

ppport.h  view on Meta::CPAN

av_make|||
av_pop|||
av_push|||
av_reify|||
av_shift|||
av_store|||
av_undef|||
av_unshift|||
ax|||n
bad_type|||
bind_match|||
block_end|||
block_gimme||5.004000|
block_start|||
boolSV|5.004000||p
boot_core_PerlIO|||
boot_core_UNIVERSAL|||
boot_core_mro|||
bytes_from_utf8||5.007001|
bytes_to_uni|||n
bytes_to_utf8||5.006001|



( run in 2.275 seconds using v1.01-cache-2.11-cpan-2398b32b56e )