coven_database/store/
publication_state.rs1use crate::{
2 DurablePreparedProtocolObject, PreparedAudienceObjects, StoreBatchCompletion,
3 StoreBatchLocalCleanup,
4};
5use coven_protocol::objects::PreparedProtocolObject;
6use coven_protocol::store_commit::{StoreRootRef, VerifiedStoreBatchCommit};
7use coven_protocol::write::WriteId;
8
9pub struct StoreWritePreparation {
10 pub root: StoreRootRef,
11 pub write_id: WriteId,
12 pub remote_objects: Vec<coven_protocol::remote_object::ClosedRemoteObject>,
13 pub audiences: PreparedAudienceObjects,
14 pub commit: PreparedProtocolObject<VerifiedStoreBatchCommit>,
15 pub publication: coven_protocol::prepared_commit::PreparedStorePublication,
16 pub history_evidence: coven_protocol::store_commit::RetainedMergeCommitEvidence,
17 pub local_cleanup: StoreBatchLocalCleanup,
18 pub completion: StoreBatchCompletion,
19}
20
21pub type StorePublicationPreparation = coven_protocol::prepared_commit::PreparedStorePublication;
22
23#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
24#[serde(deny_unknown_fields)]
25pub(super) struct PreparedStoreWriteState {
26 pub commit: DurablePreparedProtocolObject,
27 pub history_evidence: coven_protocol::store_commit::RetainedMergeCommitEvidence,
28 pub local_cleanup: StoreBatchLocalCleanup,
29 pub completion: StoreBatchCompletion,
30}