use DBM::Deep::Sector::File ();
use DBM::Deep::Storage::File ();
+sub sector_type { 'DBM::Deep::Sector::File' }
+
my $STALE_SIZE = 2;
# Please refer to the pack() documentation for further information
my ($obj, $key) = @_;
# This will be a Reference sector
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or return;
if ( $sector->staleness != $obj->_staleness ) {
my ($obj) = @_;
# This will be a Reference sector
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or DBM::Deep->_throw_error( "How did get_classname fail (no sector for '$obj')?!" );
if ( $sector->staleness != $obj->_staleness ) {
my ($obj, $old_key, $new_key) = @_;
# This will be a Reference sector
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or DBM::Deep->_throw_error( "How did make_reference fail (no sector for '$obj')?!" );
if ( $sector->staleness != $obj->_staleness ) {
my ($obj, $key) = @_;
# This will be a Reference sector
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or return '';
if ( $sector->staleness != $obj->_staleness ) {
my $self = shift;
my ($obj, $key) = @_;
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or return;
if ( $sector->staleness != $obj->_staleness ) {
}
# This will be a Reference sector
- my $sector = DBM::Deep::Sector::File->load( $self, $obj->_base_offset )
+ my $sector = $self->load_sector( $obj->_base_offset )
or DBM::Deep->_throw_error( "Cannot write to a deleted spot in DBM::Deep." );
if ( $sector->staleness != $obj->_staleness ) {
}
#XXX Can this use $loc?
- my $value_sector = DBM::Deep::Sector::File->load( $self, $tmpvar->_base_offset );
+ my $value_sector = $self->load_sector( $tmpvar->_base_offset );
$sector->write_data({
key => $key,
key_md5 => $self->_apply_digest( $key ),
$self->storage->print_at( $read_loc, pack( $StP{$self->byte_size}, 0 ) );
if ( $data_loc > 1 ) {
- DBM::Deep::Sector::File->load( $self, $data_loc )->free;
+ $self->load_sector( $data_loc )->free;
}
}
);
if ( $head_loc > 1 ) {
- DBM::Deep::Sector::File->load( $self, $head_loc )->free;
+ $self->load_sector( $head_loc )->free;
}
}
=over 4
-=item * storage
-
=item * byte_size
=item * hash_size
=cut
-sub storage { $_[0]{storage} }
sub byte_size { $_[0]{byte_size} }
sub hash_size { $_[0]{hash_size} }
sub hash_chars { $_[0]{hash_chars} }
SECTOR:
while ( $spot < $self->storage->{end} ) {
# Read each sector in order.
- my $sector = DBM::Deep::Sector::File->load( $self, $spot );
+ my $sector = $self->load_sector( $spot );
if ( !$sector ) {
# Find it in the free-sectors that were found already
foreach my $type ( keys %sectors ) {