chunked_wal/api/wal_types.rs
1//! Associated types used by the generic WAL implementation.
2
3use std::fmt::Debug;
4
5use codeq::Codec;
6
7use crate::Callback;
8
9/// Defines the concrete types used by the WAL.
10pub trait WalTypes
11where Self: Debug + Default + PartialEq + Eq + Clone + 'static
12{
13 type Action: Debug + Clone + Codec + Send + 'static;
14
15 type Checkpoint: Debug
16 + Clone
17 + PartialEq
18 + Eq
19 + Codec
20 + Send
21 + Sync
22 + 'static;
23
24 /// Callback handlers for notification of an IO operation.
25 type Callback: Callback;
26}