Implemented rotating DNS upstreams from config. Fixed warnings.
This commit is contained in:
+3
-2
@@ -2,7 +2,7 @@ extern crate serde;
|
||||
extern crate serde_json;
|
||||
|
||||
use std::{io, thread};
|
||||
use std::io::{Read, Write, Error};
|
||||
use std::io::{Read, Write};
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
@@ -10,10 +10,11 @@ use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt};
|
||||
use mio::{Events, Interest, Poll, Registry, Token};
|
||||
use mio::event::Event;
|
||||
use mio::net::{TcpListener, TcpStream};
|
||||
#[allow(unused_imports)]
|
||||
use log::{trace, debug, info, warn, error};
|
||||
|
||||
use crate::{Context, Block, p2p::Message, p2p::State, p2p::Peer, p2p::Peers};
|
||||
use std::net::{SocketAddr, IpAddr, SocketAddrV4, Shutdown, ToSocketAddrs};
|
||||
use std::net::{SocketAddr, IpAddr, SocketAddrV4, ToSocketAddrs};
|
||||
|
||||
const SERVER: Token = Token(0);
|
||||
const POLL_TIMEOUT: Option<Duration> = Some(Duration::from_millis(3000));
|
||||
|
||||
+6
-5
@@ -6,6 +6,7 @@ use crate::p2p::{Peer, State, Message};
|
||||
use crate::p2p::network::LISTEN_PORT;
|
||||
use crate::p2p::network::next;
|
||||
use rand::random;
|
||||
#[allow(unused_imports)]
|
||||
use log::{trace, debug, info, warn, error};
|
||||
|
||||
pub struct Peers {
|
||||
@@ -33,12 +34,12 @@ impl Peers {
|
||||
}
|
||||
|
||||
pub fn close_peer(&mut self, registry: &Registry, token: &Token) {
|
||||
let mut peer = self.peers.get_mut(token);
|
||||
let peer = self.peers.get_mut(token);
|
||||
match peer {
|
||||
Some(mut peer) => {
|
||||
let mut stream = peer.get_stream();
|
||||
Some(peer) => {
|
||||
let stream = peer.get_stream();
|
||||
let _ = stream.shutdown(Shutdown::Both);
|
||||
registry.deregister(stream);
|
||||
let _ = registry.deregister(stream);
|
||||
info!("Peer connection {:?} has shut down", &peer.get_addr());
|
||||
|
||||
if !peer.disabled() && !peer.is_inbound() {
|
||||
@@ -169,7 +170,7 @@ fn skip_addr(addr: &SocketAddr) -> bool {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
SocketAddr::V6(addr) => {
|
||||
SocketAddr::V6(_addr) => {
|
||||
// TODO uncomment when stabilized
|
||||
// if addr.ip().is_unique_local() {
|
||||
// return true;
|
||||
|
||||
Reference in New Issue
Block a user