summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-12-27 15:18:10 +0200
committerLars Wirzenius <liw@liw.fi>2020-12-27 15:18:10 +0200
commit48639d00710cf945cff7298cf927efc7275364e2 (patch)
treed15923a84e68fb4a57f9cb2aecc37dadf9104d63 /src
parent619b0471182daf42615558a4449b3156541944f8 (diff)
downloadobnam2-48639d00710cf945cff7298cf927efc7275364e2.tar.gz
add FinishedGeneration
Diffstat (limited to 'src')
-rw-r--r--src/generation.rs31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/generation.rs b/src/generation.rs
index 32b1e73..fdfd7f1 100644
--- a/src/generation.rs
+++ b/src/generation.rs
@@ -3,7 +3,11 @@ use crate::fsentry::FilesystemEntry;
use rusqlite::{params, Connection, OpenFlags, Row, Transaction};
use std::path::Path;
-/// A backup generation.
+/// A nascent backup generation.
+///
+/// A nascent generation is one that is being prepared. It isn't
+/// finished yet, and it's not actually on the server, yet, or not
+/// completely. It can't be restored.
pub struct NascentGeneration {
conn: Connection,
fileno: u64,
@@ -150,3 +154,28 @@ mod test {
assert!(filename.exists());
}
}
+
+/// A finished generation.
+///
+/// A generation is finished when it's on the server. It can be restored.
+pub struct FinishedGeneration {
+ id: ChunkId,
+ ended: String,
+}
+
+impl FinishedGeneration {
+ pub fn new(id: ChunkId, ended: &str) -> Self {
+ Self {
+ id: id.clone(),
+ ended: ended.to_string(),
+ }
+ }
+
+ pub fn id(&self) -> ChunkId {
+ self.id.clone()
+ }
+
+ pub fn ended(&self) -> &str {
+ &self.ended
+ }
+}