Переглянути джерело

Use a bucket, not a single bridgeline

Vecna 8 місяців тому
батько
коміт
c17333e5c0
1 змінених файлів з 12 додано та 7 видалено
  1. 12 7
      src/main.rs

+ 12 - 7
src/main.rs

@@ -7,6 +7,7 @@ use client_net::HyperNet;
 use curve25519_dalek::scalar::Scalar;
 use getopts::Options;
 use lox_library::bridge_table::BridgeLine;
+use lox_library::bridge_table::MAX_BRIDGES_PER_BUCKET;
 use lox_library::IssuerPubKey;
 use serde::Serialize;
 use std::env::args;
@@ -98,25 +99,29 @@ async fn main() {
 
     // Get Lox Credential and BridgeLine
     let lox_cred_filename = "lox_cred.json";
-    let bridgeline_filename = "bridgeline.json";
-    let (lox_cred, bridgeline) = if matches.opt_present("N")
+    let bucket_filename = "bucket.json";
+    let (lox_cred, bucket) = if matches.opt_present("N")
         || !Path::new(lox_cred_filename).exists()
-        || !Path::new(bridgeline_filename).exists()
+        || !Path::new(bucket_filename).exists()
     {
         // get new Lox Credential
         let open_invite = get_open_invitation(&net).await;
         let (cred, bl) =
             get_lox_credential(&net, &open_invite, get_lox_pub(&lox_auth_pubkeys)).await;
+        let mut bucket = [BridgeLine::default(); MAX_BRIDGES_PER_BUCKET];
+        // note: this is a bucket with one real bridgeline and n-1
+        // default (zeroed out) bridgelines
+        bucket[0] = bl;
 
         // save to files for next time
         save_object(&cred, &lox_cred_filename);
-        save_object(&bl, &bridgeline_filename);
-        (cred, bl)
+        save_object(&bucket, &bucket_filename);
+        (cred, bucket)
     } else {
         // Read existing Lox Credential and BridgeLine from files
         let cred = serde_json::from_reader(File::open(lox_cred_filename).unwrap()).unwrap();
-        let bl = serde_json::from_reader(File::open(bridgeline_filename).unwrap()).unwrap();
-        (cred, bl)
+        let bucket = serde_json::from_reader(File::open(bucket_filename).unwrap()).unwrap();
+        (cred, bucket)
     };
 
     let lox_cred = if matches.opt_present("L") {