1 package DBM::Deep::Engine::Sector;
6 use warnings FATAL => 'all';
9 my $self = bless $_[1], $_[0];
10 Scalar::Util::weaken( $self->{engine} );
16 #sub clone { DBM::Deep->_throw_error( "Must be implemented in the child class" ); }
18 sub engine { $_[0]{engine} }
19 sub offset { $_[0]{offset} }
20 sub type { $_[0]{type} }
24 return $self->engine->SIG_SIZE + $STALE_SIZE;
30 my $e = $self->engine;
32 $e->storage->print_at( $self->offset, $e->SIG_FREE );
33 # Skip staleness counter
34 $e->storage->print_at( $self->offset + $self->base_size,
35 chr(0) x ($self->size - $self->base_size),
38 my $free_meth = $self->free_meth;
39 $e->$free_meth( $self->offset, $self->size );