diff --git a/brood/Cargo.lock b/brood/Cargo.lock index f25d1d3..3cbe482 100644 --- a/brood/Cargo.lock +++ b/brood/Cargo.lock @@ -40,6 +40,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" name = "brood" version = "0.1.0" dependencies = [ + "ciborium", "clap", "rustc-hash", "serde", @@ -53,6 +54,33 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "ciborium" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369" + +[[package]] +name = "ciborium-ll" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" +dependencies = [ + "ciborium-io", + "half", +] + [[package]] name = "clap" version = "4.0.5" @@ -110,6 +138,12 @@ dependencies = [ "wasi", ] +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + [[package]] name = "halfbrown" version = "0.1.15" diff --git a/brood/Cargo.toml b/brood/Cargo.toml index 7842f4e..c42fb6c 100644 --- a/brood/Cargo.toml +++ b/brood/Cargo.toml @@ -4,6 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] +ciborium = "0.2.0" clap = { version = "4.0.5", features = ["derive"] } rustc-hash = "1.1.0" serde = { version = "1.0.145", features = ["derive"] } diff --git a/brood/src/data.rs b/brood/src/data.rs index 8a57d7c..afa904f 100644 --- a/brood/src/data.rs +++ b/brood/src/data.rs @@ -1,3 +1,6 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Serialize, Deserialize)] pub struct Page { pub link_idx: u32, pub ns: u16, @@ -6,12 +9,14 @@ pub struct Page { pub redirect: bool, } +#[derive(Debug, Serialize, Deserialize)] pub struct Link { pub to: u32, pub start: u32, pub end: u32, } +#[derive(Debug, Serialize, Deserialize)] pub struct AdjacencyList { pub pages: Vec, pub links: Vec, diff --git a/brood/src/ingest.rs b/brood/src/ingest.rs index 8e5f4b3..b31e872 100644 --- a/brood/src/ingest.rs +++ b/brood/src/ingest.rs @@ -178,5 +178,8 @@ pub fn ingest() -> io::Result<()> { } } + eprintln!("EXPORT"); + ciborium::ser::into_writer(&second_stage, io::stdout()).unwrap(); + Ok(()) }