[cache_check] mapping damage reporter
This commit is contained in:
@ -28,12 +28,10 @@ mapping_traits::pack(value_type const &value, disk_type &disk)
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
missing_mappings::missing_mappings(run<uint32_t> const &keys,
|
||||
std::string const &desc)
|
||||
: keys_(keys),
|
||||
desc_(desc)
|
||||
missing_mappings::missing_mappings(std::string const &desc, run<uint32_t> const &keys)
|
||||
: damage(desc),
|
||||
keys_(keys)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
@ -42,6 +40,20 @@ missing_mappings::visit(damage_visitor &v) const
|
||||
v.visit(*this);
|
||||
}
|
||||
|
||||
invalid_mapping::invalid_mapping(std::string const &desc,
|
||||
block_address cblock, mapping const &m)
|
||||
: damage(desc),
|
||||
cblock_(cblock),
|
||||
m_(m)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
invalid_mapping::visit(damage_visitor &v) const
|
||||
{
|
||||
v.visit(*this);
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct no_op_visitor {
|
||||
virtual void visit(uint32_t index,
|
||||
@ -56,7 +68,7 @@ namespace {
|
||||
}
|
||||
|
||||
virtual void visit(array_detail::damage const &d) {
|
||||
v_.visit(missing_mappings(d.lost_keys_, d.desc_));
|
||||
v_.visit(missing_mappings(d.desc_, d.lost_keys_));
|
||||
}
|
||||
|
||||
private:
|
||||
|
Reference in New Issue
Block a user