Merge branch 'release/0.3.1'
This commit is contained in:
Generated
+5
-3
@@ -1339,7 +1339,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nym-client"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"addressing",
|
||||
"base64 0.11.0",
|
||||
@@ -1372,7 +1372,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nym-mixnode"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"addressing",
|
||||
"base64 0.11.0",
|
||||
@@ -1381,13 +1381,14 @@ dependencies = [
|
||||
"curve25519-dalek",
|
||||
"directory-client",
|
||||
"futures 0.3.1",
|
||||
"log",
|
||||
"sphinx",
|
||||
"tokio 0.2.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nym-sfw-provider"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"base64 0.11.0",
|
||||
"built",
|
||||
@@ -1398,6 +1399,7 @@ dependencies = [
|
||||
"futures 0.3.1",
|
||||
"hex",
|
||||
"hmac",
|
||||
"log",
|
||||
"rand 0.7.2",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# nym-mixnode Changelog
|
||||
|
||||
## 0.3.1
|
||||
|
||||
* Fixed crash when directory server goes down
|
||||
|
||||
## 0.3.0
|
||||
|
||||
* cleaned up a lot of internal dependencies
|
||||
|
||||
+2
-1
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
build = "build.rs"
|
||||
name = "nym-mixnode"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>", "Jędrzej Stuczyński <andrew@nymtech.net>"]
|
||||
edition = "2018"
|
||||
|
||||
@@ -12,6 +12,7 @@ base64 = "0.11.0"
|
||||
clap = "2.33.0"
|
||||
curve25519-dalek = "1.2.3"
|
||||
futures = "0.3.1"
|
||||
log = "0.4.8"
|
||||
tokio = { version = "0.2", features = ["full"] }
|
||||
|
||||
## internal
|
||||
|
||||
@@ -4,6 +4,7 @@ use directory_client::DirectoryClient;
|
||||
use futures::channel::mpsc;
|
||||
use futures::lock::Mutex;
|
||||
use futures::StreamExt;
|
||||
use log::{debug, error};
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
@@ -80,14 +81,15 @@ impl MetricsReporter {
|
||||
tokio::time::delay_for(delay_duration).await;
|
||||
let (received, sent) =
|
||||
MetricsReporter::acquire_and_reset_metrics(metrics.clone()).await;
|
||||
directory_client
|
||||
.metrics_post
|
||||
.post(&MixMetric {
|
||||
pub_key: pub_key_str.clone(),
|
||||
received,
|
||||
sent,
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
match directory_client.metrics_post.post(&MixMetric {
|
||||
pub_key: pub_key_str.clone(),
|
||||
received,
|
||||
sent,
|
||||
}) {
|
||||
Err(err) => error!("failed to send metrics - {:?}", err),
|
||||
Ok(_) => debug!("sent metrics information"),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use crate::mix_peer::MixPeer;
|
||||
use crate::node;
|
||||
use crate::node::metrics::MetricsReporter;
|
||||
use curve25519_dalek::montgomery::MontgomeryPoint;
|
||||
use curve25519_dalek::scalar::Scalar;
|
||||
@@ -214,7 +215,7 @@ impl MixNode {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn start(&self) -> Result<(), Box<dyn std::error::Error>> {
|
||||
pub fn start(&self, config: node::Config) -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Create the runtime, probably later move it to MixNode itself?
|
||||
let mut rt = Runtime::new()?;
|
||||
|
||||
@@ -227,6 +228,11 @@ impl MixNode {
|
||||
let pub_key_str =
|
||||
base64::encode_config(&self.public_key.to_bytes().to_vec(), base64::URL_SAFE);
|
||||
|
||||
rt.spawn({
|
||||
let presence_notifier = presence::Notifier::new(&config);
|
||||
presence_notifier.run()
|
||||
});
|
||||
|
||||
let metrics = MetricsReporter::new().add_arc_mutex();
|
||||
rt.spawn(MetricsReporter::run_received_metrics_control(
|
||||
metrics.clone(),
|
||||
|
||||
@@ -2,7 +2,7 @@ use crate::node;
|
||||
use directory_client::presence::MixNodePresence;
|
||||
use directory_client::requests::presence_mixnodes_post::PresenceMixNodesPoster;
|
||||
use directory_client::DirectoryClient;
|
||||
use std::thread;
|
||||
use log::{debug, error};
|
||||
use std::time::Duration;
|
||||
|
||||
pub struct Notifier {
|
||||
@@ -30,16 +30,18 @@ impl Notifier {
|
||||
}
|
||||
|
||||
pub fn notify(&self) {
|
||||
self.net_client
|
||||
.presence_mix_nodes_post
|
||||
.post(&self.presence)
|
||||
.unwrap();
|
||||
match self.net_client.presence_mix_nodes_post.post(&self.presence) {
|
||||
Err(err) => error!("failed to send presence - {:?}", err),
|
||||
Ok(_) => debug!("sent presence information"),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn run(&self) {
|
||||
pub async fn run(self) {
|
||||
let delay_duration = Duration::from_secs(5);
|
||||
|
||||
loop {
|
||||
self.notify();
|
||||
thread::sleep(Duration::from_secs(5));
|
||||
tokio::time::delay_for(delay_duration).await;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
use crate::banner;
|
||||
use crate::node;
|
||||
use crate::node::presence;
|
||||
use crate::node::MixNode;
|
||||
use clap::ArgMatches;
|
||||
|
||||
use std::net::ToSocketAddrs;
|
||||
use std::thread;
|
||||
|
||||
fn print_binding_warning(address: &str) {
|
||||
println!("\n##### WARNING #####");
|
||||
@@ -29,11 +26,7 @@ pub fn start(matches: &ArgMatches) {
|
||||
);
|
||||
|
||||
let mix = MixNode::new(&config);
|
||||
thread::spawn(move || {
|
||||
let notifier = presence::Notifier::new(&config);
|
||||
notifier.run();
|
||||
});
|
||||
mix.start().unwrap();
|
||||
mix.start(config).unwrap();
|
||||
}
|
||||
|
||||
fn new_config(matches: &ArgMatches) -> node::Config {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# nym-client Changelog
|
||||
|
||||
## 0.3.1
|
||||
|
||||
* Version increase for consistency with `nym-mixnode` and `nym-sfw-provider`
|
||||
|
||||
## 0.3.0
|
||||
|
||||
* cleaned up a lot of internal dependencies
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
build = "build.rs"
|
||||
name = "nym-client"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>", "Jędrzej Stuczyński <andrew@nymtech.net>"]
|
||||
edition = "2018"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[healthcheck]
|
||||
|
||||
directory-server = "http://localhost:8080"
|
||||
#directory-server = "https://directory.nymtech.net"
|
||||
#directory-server = "http://localhost:8080"
|
||||
directory-server = "https://qa-directory.nymtech.net"
|
||||
interval = 10.0
|
||||
test-packets-per-node = 2 # in seconds
|
||||
resolution-timeout = 5 # in seconds
|
||||
@@ -1,5 +1,9 @@
|
||||
# nym-sfw-provider Changelog
|
||||
|
||||
## 0.3.1
|
||||
|
||||
* Fixed crash when directory server goes down
|
||||
|
||||
## 0.3.0
|
||||
|
||||
* cleaned up a lot of internal dependencies
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
build = "build.rs"
|
||||
name = "nym-sfw-provider"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>", "Jędrzej Stuczyński <andrew@nymtech.net>"]
|
||||
edition = "2018"
|
||||
|
||||
@@ -13,6 +13,7 @@ clap = "2.33.0"
|
||||
curve25519-dalek = "1.2.3"
|
||||
hex = "0.4.0"
|
||||
futures = "0.3.1"
|
||||
log = "0.4.8"
|
||||
rand = "0.7.2"
|
||||
tokio = { version = "0.2.4", features = ["full"] }
|
||||
sha2 = "0.8.0"
|
||||
|
||||
@@ -4,6 +4,7 @@ use directory_client::presence::MixProviderPresence;
|
||||
use directory_client::requests::presence_providers_post::PresenceMixProviderPoster;
|
||||
use directory_client::DirectoryClient;
|
||||
use futures::lock::Mutex as FMutex;
|
||||
use log::{debug, error};
|
||||
use std::net::SocketAddr;
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
@@ -52,10 +53,10 @@ impl Notifier {
|
||||
}
|
||||
|
||||
pub fn notify(&self, presence: MixProviderPresence) {
|
||||
self.net_client
|
||||
.presence_providers_post
|
||||
.post(&presence)
|
||||
.unwrap();
|
||||
match self.net_client.presence_providers_post.post(&presence) {
|
||||
Err(err) => error!("failed to send presence - {:?}", err),
|
||||
Ok(_) => debug!("sent presence information"),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn run(self) {
|
||||
|
||||
Reference in New Issue
Block a user