//! The error type for secured sessions.
/// What can go wrong opening a sealed message on a session.
///
/// Sealing never fails, so this only describes the receive side. The two cases are
/// kept distinct on purpose: a forged or corrupted message is an attack or a wire
/// fault, while a replayed message is a captured-and-resent valid message, and an
/// operator may want to react to them differently.
// `core::error::Error` rather than `std::error::Error`, so a caller on a
// microcontroller gets the same trait a caller on a gateway does.