p2panda_encryption/traits/
mod.rs1use std::fmt::Debug;
6use std::hash::Hash as StdHash;
7
8mod dgm;
9mod key_bundle;
10mod key_manager;
11mod key_registry;
12mod message;
13mod ordering;
14
15#[cfg(any(test, feature = "message_scheme"))]
16pub use dgm::AckedGroupMembership;
17#[cfg(any(test, feature = "data_scheme"))]
18pub use dgm::GroupMembership;
19pub use key_bundle::KeyBundle;
20pub use key_manager::{IdentityManager, PreKeyManager};
21pub use key_registry::{IdentityRegistry, PreKeyRegistry};
22#[cfg(any(test, feature = "message_scheme"))]
23pub use message::{ForwardSecureGroupMessage, ForwardSecureMessageContent};
24#[cfg(any(test, feature = "data_scheme"))]
25pub use message::{GroupMessage, GroupMessageContent};
26#[cfg(any(test, feature = "message_scheme"))]
27pub use ordering::ForwardSecureOrdering;
28#[cfg(any(test, feature = "data_scheme"))]
29pub use ordering::Ordering;
30
31pub trait IdentityHandle: Copy + Debug + PartialEq + Eq + StdHash {}
36
37#[cfg(any(test, feature = "test_utils"))]
38impl IdentityHandle for &str {}
39
40#[cfg(any(test, feature = "test_utils"))]
41impl IdentityHandle for usize {}
42
43pub trait OperationId: Copy + Debug + PartialEq + Eq + StdHash {}
49
50#[cfg(any(test, feature = "test_utils"))]
51impl OperationId for (usize, usize) {} #[cfg(any(test, feature = "test_utils"))]
54impl OperationId for usize {}