package DBM::Deep::Sector; | |
use 5.008_004; | |
use strict; | |
use warnings FATAL => 'all'; | |
use Scalar::Util (); | |
sub new { | |
my $self = bless $_[1], $_[0]; | |
Scalar::Util::weaken( $self->{engine} ); | |
$self->_init; | |
return $self; | |
} | |
sub _init {} | |
sub clone { | |
my $self = shift; | |
return ref($self)->new({ | |
engine => $self->engine, | |
type => $self->type, | |
data => $self->data, | |
}); | |
} | |
sub engine { $_[0]{engine} } | |
sub offset { $_[0]{offset} } | |
sub type { $_[0]{type} } | |
sub staleness { $_[0]{staleness} } | |
sub load { die "load must be implemented in a child class" } | |
1; | |
__END__ |