Algorithm-ConsistentHash-Ketama

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

      This was discovered "in the wild" in a system that deals with
      billions of keys, htese keys just so happened to trigger a
      segfault in the library due to how the binary search works.

0.00010 - Mar 1 2013
    - No code change. Just a re-release of 0.00009

0.00009 - Oct 20 2012
    - No code change
    - Upgrade to Module::Install 1.06
      (see http://weblog.bulknews.net/post/33907905561/do-not-ship-modules-with-module-install-1-04)

0.00008 - May 15 2012
    * Add hash_with_hashnum(), label_from_hashnum(). This allows clients to
      cache the hashed values -- thus avoiding the need to recompute the
      MD5 hash. However, you should make sure you know what you're doing
      before using these (Steffen Mueller)
      (https://github.com/lestrrat/Algorithm-ConsistentHash-Ketama/pull/1)

0.00007 - Jun 3 2010
    * How about actually using ppport.h?

inc/Module/Install/Makefile.pm  view on Meta::CPAN

 XS                 => 'HASH',
# VERSION            => ['version',''],  # ignore
# _KEEP_AFTER_FLUSH  => '',

 clean      => 'HASH',
 depend     => 'HASH',
 dist       => 'HASH',
 dynamic_lib=> 'HASH',
 linkext    => 'HASH',
 macro      => 'HASH',
 postamble  => 'HASH',
 realclean  => 'HASH',
 test       => 'HASH',
 tool_autosplit => 'HASH',

 # special cases where you can use makemaker_append
 CCFLAGS   => 'APPENDABLE',
 DEFINE    => 'APPENDABLE',
 INC       => 'APPENDABLE',
 LDDLFLAGS => 'APPENDABLE',
 LDFROM    => 'APPENDABLE',

inc/Module/Install/Makefile.pm  view on Meta::CPAN

sub fix_up_makefile {
	my $self          = shift;
	my $makefile_name = shift;
	my $top_class     = ref($self->_top) || '';
	my $top_version   = $self->_top->VERSION || '';

	my $preamble = $self->preamble
		? "# Preamble by $top_class $top_version\n"
			. $self->preamble
		: '';
	my $postamble = "# Postamble by $top_class $top_version\n"
		. ($self->postamble || '');

	local *MAKEFILE;
	open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
	eval { flock MAKEFILE, LOCK_EX };
	my $makefile = do { local $/; <MAKEFILE> };

	$makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
	$makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
	$makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
	$makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;

inc/Module/Install/Makefile.pm  view on Meta::CPAN

	#$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m;

	# Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well.
	$makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g;

	# XXX - This is currently unused; not sure if it breaks other MM-users
	# $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;

	seek MAKEFILE, 0, SEEK_SET;
	truncate MAKEFILE, 0;
	print MAKEFILE  "$preamble$makefile$postamble" or die $!;
	close MAKEFILE  or die $!;

	1;
}

sub preamble {
	my ($self, $text) = @_;
	$self->{preamble} = $text . $self->{preamble} if defined $text;
	$self->{preamble};
}

sub postamble {
	my ($self, $text) = @_;
	$self->{postamble} ||= $self->admin->postamble;
	$self->{postamble} .= $text if defined $text;
	$self->{postamble}
}

1;

__END__

#line 544



( run in 0.959 second using v1.01-cache-2.11-cpan-ceb78f64989 )