diff options
Diffstat (limited to 'src/node.rs')
| -rw-r--r-- | src/node.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/node.rs b/src/node.rs index c1a26de..32a82b2 100644 --- a/src/node.rs +++ b/src/node.rs @@ -40,6 +40,8 @@ pub(crate) struct NodeConfig { pub(crate) initial_doc: Document, /// Actors this node wrote with in earlier runs (`--document-file`). pub(crate) earlier_actors: Vec<ActorId>, + /// The signatures of `initial_doc`'s changes (`--document-file`). + pub(crate) initial_signatures: Vec<(crate::document::ChangeHash, [u8; 64])>, /// `Timing::new(--keepalive, the transports' sync reply timeout and delivery /// limit)`. pub(crate) timing: Timing, @@ -110,7 +112,9 @@ impl Node { None => config.transport, }; - let replica = Replica::new(config.initial_epoch, config.initial_doc); + let mut replica = Replica::new(config.initial_epoch, config.initial_doc); + replica.signatures = + crate::document::signatures::Signatures::from_kept(config.initial_signatures); let stamp = replica.stamps(); let state = AppState { doc: Arc::new(crate::document::lock::DocumentLock::new(replica)), |
