30 lines
720 B
Rust
Raw Normal View History

2021-10-04 17:47:21 +08:00
use crate::{entities::doc::Revision, errors::DocResult, services::ws::DocumentWebSocket, sql_tables::RevState};
use tokio::sync::oneshot;
2021-10-07 20:46:29 +08:00
pub type PendingRevSender = oneshot::Sender<DocResult<()>>;
pub type PendingRevReceiver = oneshot::Receiver<DocResult<()>>;
2021-10-07 20:46:29 +08:00
pub struct RevisionContext {
pub revision: Revision,
pub state: RevState,
}
2021-10-07 20:46:29 +08:00
impl RevisionContext {
pub fn new(revision: Revision) -> Self {
Self {
2021-10-07 20:46:29 +08:00
revision,
state: RevState::Local,
}
}
}
2021-10-07 20:46:29 +08:00
pub(crate) struct PendingRevId {
pub rev_id: i64,
pub sender: PendingRevSender,
}
2021-10-07 20:46:29 +08:00
impl PendingRevId {
pub(crate) fn new(rev_id: i64, sender: PendingRevSender) -> Self { Self { rev_id, sender } }
}