dope_sys/ring/prepare/
mod.rs1mod feature;
2
3pub use feature::Feature;
4use o3::base::num::bounded;
5
6type Rejected<S> = (
7 S,
8 Rejection<<S as Prepare>::Cancel, <S as Prepare>::Files, <S as Prepare>::Range>,
9);
10
11pub trait Prepare: Sized {
13 type Cancel;
14 type Files;
15 type Range;
16
17 fn prepare<const FILES: u32, const RANGE: u32>(
18 self,
19 files: bounded::U32<1, FILES>,
20 range: Option<bounded::U32<1, RANGE>>,
21 ) -> Result<Self, Rejected<Self>>;
22}
23
24#[derive(Clone, Copy, Debug, Eq, PartialEq)]
26pub enum Rejection<C, F, R> {
27 Feature(Feature),
28 Cancel(C),
29 Files(F),
30 Range(R),
31}