}
sub _init {}
-sub clone { die "clone must be implemented in a child class" }
+#sub clone { die "clone must be implemented in a child class" }
+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" }