toasty_core/error/
transaction_timeout.rs1use std::time::Duration;
2
3use crate::{error::ErrorKind, Error};
4
5#[derive(Debug)]
6pub(super) struct TransactionTimeout {
7 duration: Duration,
8}
9
10impl Error {
11 pub fn transaction_timeout(duration: Duration) -> Error {
14 ErrorKind::TransactionTimeout(TransactionTimeout { duration }).into()
15 }
16
17 pub fn is_transaction_timeout(&self) -> bool {
19 matches!(self.kind(), ErrorKind::TransactionTimeout(_))
20 }
21}
22
23impl std::error::Error for TransactionTimeout {}
24
25impl core::fmt::Display for TransactionTimeout {
26 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
27 write!(f, "Transaction timed out after {:?}", self.duration)
28 }
29}