Cleanup HookError
tracing logic.
Use `Result::or_else` instead of matching and no-oping the `Ok` case manually and extract a helper to centralize repeated trace logic.
This commit is contained in:
parent
0c5674dd47
commit
8ef7b4e0c6
1 changed files with 15 additions and 39 deletions
|
@ -51,19 +51,7 @@ impl StoreIdAccessor for Aspect {
|
|||
&HDA::StoreIdAccess(accessor) => accessor.access(id),
|
||||
_ => unreachable!(),
|
||||
};
|
||||
|
||||
match res {
|
||||
Ok(res) => Ok(res),
|
||||
Err(e) => {
|
||||
if !e.is_aborting() {
|
||||
trace_error(&e);
|
||||
// ignore error if it is not aborting, as we printed it already
|
||||
Ok(())
|
||||
} else {
|
||||
Err(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
trace_hook_errors(res)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -94,19 +82,7 @@ impl MutableHookDataAccessor for Aspect {
|
|||
&HDA::NonMutableAccess(ref accessor) => accessor.access(fle),
|
||||
_ => unreachable!(),
|
||||
};
|
||||
|
||||
match res {
|
||||
Ok(res) => Ok(res),
|
||||
Err(e) => {
|
||||
if !e.is_aborting() {
|
||||
trace_error(&e);
|
||||
// ignore error if it is not aborting, as we printed it already
|
||||
Ok(())
|
||||
} else {
|
||||
Err(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
trace_hook_errors(res)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -123,10 +99,13 @@ impl NonMutableHookDataAccessor for Aspect {
|
|||
&HDA::NonMutableAccess(accessor) => accessor.access(fle),
|
||||
_ => unreachable!(),
|
||||
};
|
||||
trace_hook_errors(res)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
match res {
|
||||
Ok(res) => Ok(res),
|
||||
Err(e) => {
|
||||
fn trace_hook_errors(res: HookResult<()>) -> HookResult<()> {
|
||||
res.or_else(|e| {
|
||||
if !e.is_aborting() {
|
||||
trace_error(&e);
|
||||
// ignore error if it is not aborting, as we printed it already
|
||||
|
@ -134,9 +113,6 @@ impl NonMutableHookDataAccessor for Aspect {
|
|||
} else {
|
||||
Err(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue