Migrating util/network from rust_serialize to serde (#5988)

This commit is contained in:
Dmitry Kashitsyn 2017-10-11 14:34:23 +07:00
parent dbd1976fc1
commit 504b2de4a8
4 changed files with 6 additions and 4 deletions

1
Cargo.lock generated
View File

@ -811,6 +811,7 @@ dependencies = [
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
"slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -34,6 +34,7 @@ path = { path = "../path" }
ethcore-logger = { path ="../../logger" } ethcore-logger = { path ="../../logger" }
ipnetwork = "0.12.6" ipnetwork = "0.12.6"
hash = { path = "../hash" } hash = { path = "../hash" }
serde_json = "1.0"
[features] [features]
default = [] default = []

View File

@ -69,7 +69,6 @@ extern crate rand;
extern crate time; extern crate time;
extern crate ansi_term; //TODO: remove this extern crate ansi_term; //TODO: remove this
extern crate rustc_hex; extern crate rustc_hex;
extern crate rustc_serialize;
extern crate igd; extern crate igd;
extern crate libc; extern crate libc;
extern crate slab; extern crate slab;
@ -81,6 +80,7 @@ extern crate path;
extern crate ethcore_logger; extern crate ethcore_logger;
extern crate ipnetwork; extern crate ipnetwork;
extern crate hash; extern crate hash;
extern crate serde_json;
#[macro_use] #[macro_use]
extern crate log; extern crate log;

View File

@ -32,7 +32,7 @@ use error::NetworkError;
use {AllowIP, IpFilter}; use {AllowIP, IpFilter};
use discovery::{TableUpdates, NodeEntry}; use discovery::{TableUpdates, NodeEntry};
use ip_utils::*; use ip_utils::*;
pub use rustc_serialize::json::Json; use serde_json::Value;
/// Node public key /// Node public key
pub type NodeId = H512; pub type NodeId = H512;
@ -332,7 +332,7 @@ impl NodeTable {
return nodes; return nodes;
} }
} }
let json = match Json::from_str(&buf) { let json: Value = match ::serde_json::from_str(&buf) {
Ok(json) => json, Ok(json) => json,
Err(e) => { Err(e) => {
warn!("Error parsing node table file: {:?}", e); warn!("Error parsing node table file: {:?}", e);
@ -341,7 +341,7 @@ impl NodeTable {
}; };
if let Some(list) = json.as_object().and_then(|o| o.get("nodes")).and_then(|n| n.as_array()) { if let Some(list) = json.as_object().and_then(|o| o.get("nodes")).and_then(|n| n.as_array()) {
for n in list.iter().filter_map(|n| n.as_object()) { for n in list.iter().filter_map(|n| n.as_object()) {
if let Some(url) = n.get("url").and_then(|u| u.as_string()) { if let Some(url) = n.get("url").and_then(|u| u.as_str()) {
if let Ok(mut node) = Node::from_str(url) { if let Ok(mut node) = Node::from_str(url) {
if let Some(failures) = n.get("failures").and_then(|f| f.as_u64()) { if let Some(failures) = n.get("failures").and_then(|f| f.as_u64()) {
node.failures = failures as u32; node.failures = failures as u32;