From 75bee095e633a0c83bf6b11bdce62db4575fee03 Mon Sep 17 00:00:00 2001 From: Daniel Harvey Date: Thu, 18 Jul 2024 17:06:41 +0100 Subject: [PATCH] Add ndc_models_version to try_init_state --- Cargo.lock | 38 ++++++++++++++++++++++++++++- crates/sdk/Cargo.toml | 1 + crates/sdk/src/connector.rs | 1 + crates/sdk/src/connector/example.rs | 1 + crates/sdk/src/default_main.rs | 8 ++++-- 5 files changed, 46 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 180493c..1228b07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -827,6 +827,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -913,6 +922,12 @@ dependencies = [ "unicase", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.2" @@ -996,6 +1011,7 @@ dependencies = [ "tracing-opentelemetry", "tracing-subscriber", "url", + "versions", ] [[package]] @@ -1019,6 +1035,16 @@ dependencies = [ "url", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1358,7 +1384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.55", @@ -2410,6 +2436,16 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "versions" +version = "6.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc28d1172a20e32754969ea1a873c2c6e68e36c449c6056aa3e2ee5fe69a794" +dependencies = [ + "itertools 0.13.0", + "nom", +] + [[package]] name = "want" version = "0.3.1" diff --git a/crates/sdk/Cargo.toml b/crates/sdk/Cargo.toml index d24abd8..f0948e4 100644 --- a/crates/sdk/Cargo.toml +++ b/crates/sdk/Cargo.toml @@ -51,6 +51,7 @@ tracing = "0.1.40" tracing-opentelemetry = "0.23.0" tracing-subscriber = { version = "0.3", default-features = false, features = ["ansi", "env-filter", "fmt", "json"] } url = "2.5.0" +versions = "6.3.0" [dev-dependencies] axum-test-helper = "0.3.0" diff --git a/crates/sdk/src/connector.rs b/crates/sdk/src/connector.rs index f59cc88..3bfdcea 100644 --- a/crates/sdk/src/connector.rs +++ b/crates/sdk/src/connector.rs @@ -148,5 +148,6 @@ pub trait ConnectorSetup { &self, configuration: &::Configuration, metrics: &mut prometheus::Registry, + ndc_models_versions: &Option, ) -> Result<::State, InitializationError>; } diff --git a/crates/sdk/src/connector/example.rs b/crates/sdk/src/connector/example.rs index c173bbc..e7f0f7a 100644 --- a/crates/sdk/src/connector/example.rs +++ b/crates/sdk/src/connector/example.rs @@ -24,6 +24,7 @@ impl ConnectorSetup for Example { &self, _configuration: &::Configuration, _metrics: &mut prometheus::Registry, + _ndc_models_version: &Option, ) -> Result<::State, InitializationError> { Ok(()) } diff --git a/crates/sdk/src/default_main.rs b/crates/sdk/src/default_main.rs index 07b5b26..7f1500b 100644 --- a/crates/sdk/src/default_main.rs +++ b/crates/sdk/src/default_main.rs @@ -289,7 +289,9 @@ pub async fn init_server_state( ) -> Result, Box> { let mut metrics = Registry::new(); let configuration = setup.parse_configuration(config_directory).await?; - let state = setup.try_init_state(&configuration, &mut metrics).await?; + let state = setup + .try_init_state(&configuration, &mut metrics, &None) + .await?; Ok(ServerState::new(configuration, state, metrics)) } @@ -582,7 +584,9 @@ mod ndc_test_commands { ) -> Result, Box> { let mut metrics = Registry::new(); let configuration = setup.parse_configuration(configuration_path).await?; - let state = setup.try_init_state(&configuration, &mut metrics).await?; + let state = setup + .try_init_state(&configuration, &mut metrics, &None) + .await?; Ok(ConnectorAdapter { configuration, state,