use automerge::Automerge;
use crate::{ConnectionId, DocumentId};
#[derive(Clone)]
pub(crate) enum Command {
Receive {
connection_id: ConnectionId,
msg: Vec<u8>,
},
ActorReady { document_id: DocumentId },
CreateDocument { content: Box<Automerge> },
SearchForDoc { document_id: DocumentId },
}
impl std::fmt::Debug for Command {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Command::Receive { connection_id, msg } => f
.debug_struct("Receive")
.field("connection_id", connection_id)
.field("msg(bytes)", &msg.len())
.finish(),
Command::ActorReady { document_id } => f
.debug_struct("ActorReady")
.field("document_id", document_id)
.finish(),
Command::CreateDocument { content: _ } => f
.debug_struct("CreateDocument")
.field("content", &"<Automerge>")
.finish(),
Command::SearchForDoc { document_id } => f
.debug_struct("SearchForDoc")
.field("document_id", document_id)
.finish(),
}
}
}