1 package DBM::Deep::Engine::Sector;
6 use warnings FATAL => 'all';
11 my $self = bless $_[1], $_[0];
12 Scalar::Util::weaken( $self->{engine} );
18 #sub clone { DBM::Deep->_throw_error( "Must be implemented in the child class" ); }
20 sub engine { $_[0]{engine} }
21 sub offset { $_[0]{offset} }
22 sub type { $_[0]{type} }
27 return $self->engine->SIG_SIZE + $DBM::Deep::Engine::STALE_SIZE;
33 my $e = $self->engine;
35 $e->storage->print_at( $self->offset, $e->SIG_FREE );
36 # Skip staleness counter
37 $e->storage->print_at( $self->offset + $self->base_size,
38 chr(0) x ($self->size - $self->base_size),
41 my $free_meth = $self->free_meth;
42 $e->$free_meth( $self->offset, $self->size );