Add control messages to GatewayTransciver (#5247)

* Add control messages to GatewayTransciver

* Add forget me flag to clients

* CI gate IPIINFO test

* Handle ForgetMe for client and stats db

* fmt
This commit is contained in:
Drazen Urch
2024-12-16 15:18:04 +01:00
committed by GitHub
parent be063a36eb
commit 84d7004cb2
25 changed files with 363 additions and 31 deletions
+1
View File
@@ -33,6 +33,7 @@ nym-bin-common = { path = "../common/bin-common" }
nym-client-core = { path = "../common/client-core" }
nym-crypto = { path = "../common/crypto" }
nym-network-defaults = { path = "../common/network-defaults" }
nym-gateway-requests = { path = "../common/gateway-requests" }
nym-sdk = { path = "../sdk/rust/nym-sdk" }
nym-sphinx = { path = "../common/nymsphinx" }
nym-topology = { path = "../common/topology" }
+7 -1
View File
@@ -3,6 +3,7 @@ use accounting::submit_metrics;
use anyhow::Result;
use clap::Parser;
use log::{info, warn};
use nym_client_core::ForgetMe;
use nym_crypto::asymmetric::ed25519::PrivateKey;
use nym_network_defaults::setup_env;
use nym_network_defaults::var_names::NYM_API;
@@ -56,7 +57,11 @@ async fn make_clients(
loop {
if Arc::strong_count(&dropped_client) == 1 {
if let Some(client) = Arc::into_inner(dropped_client) {
client.into_inner().disconnect().await;
// let forget_me = ClientRequest::ForgetMe {
// also_from_stats: true,
// };
let client_handle = client.into_inner();
client_handle.disconnect().await;
} else {
warn!("Failed to drop client, client had more then one strong ref")
}
@@ -89,6 +94,7 @@ async fn make_client(topology: NymTopology) -> Result<MixnetClient> {
.network_details(net)
.custom_topology_provider(topology_provider)
.debug_config(mixnet_debug_config(0))
.with_forget_me(ForgetMe::new_all())
// .enable_credentials_mode()
.build()?;