/usr/share/perl5/CHI/Driver/Memcached/Base.pm is in libchi-driver-memcached-perl 0.15-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package CHI::Driver::Memcached::Base;
$CHI::Driver::Memcached::Base::VERSION = '0.15';
use CHI;
use Carp;
use Class::Load;
use Moose;
use strict;
use warnings;
has 'memd' => ( is => 'ro', init_arg => undef );
has 'memd_class' => ( is => 'ro' );
has 'memd_params' => ( is => 'ro' );
extends 'CHI::Driver::Base::CacheContainer';
# Unsupported methods
#
__PACKAGE__->declare_unsupported_methods(
qw(dump_as_hash get_keys get_namespaces is_empty clear purge));
__PACKAGE__->meta->make_immutable();
sub BUILD {
my ( $self, $params ) = @_;
$self->{memd_params} ||= $self->non_common_constructor_params($params);
$self->{memd_params}->{namespace} ||= $self->{namespace} . ":";
$self->{memd} = $self->{_contained_cache} = $self->_build_contained_cache;
$self->{max_key_length} = 248 - length( $self->{namespace} )
if !defined( $self->{max_key_length} );
}
sub _build_contained_cache {
my ($self) = @_;
Class::Load::load_class( $self->memd_class );
return $self->memd_class->new( $self->memd_params );
}
# Memcached supports fast multiple get
#
sub fetch_multi_hashref {
my ( $self, $keys ) = @_;
croak "must specify keys" unless defined($keys);
return $self->memd->get_multi(@$keys);
}
1;
|