Merge branch 'release/0.3.1'

This commit is contained in:
Jedrzej Stuczynski
2020-01-16 15:04:03 +00:00
13 changed files with 56 additions and 36 deletions
Generated
+5 -3
View File
@@ -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",
+4
View File
@@ -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
View File
@@ -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
+10 -8
View File
@@ -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"),
}
}
}
}
+7 -1
View File
@@ -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(),
+9 -7
View File
@@ -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 -8
View File
@@ -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 {
+4
View File
@@ -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 -1
View File
@@ -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"
+2 -2
View File
@@ -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
+4
View File
@@ -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
+2 -1
View File
@@ -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"
+5 -4
View File
@@ -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) {