Tidy networking crates

This commit is contained in:
Age Manning
2019-03-19 22:53:51 +11:00
parent dc014d07bc
commit e7f87112fb
9 changed files with 26 additions and 45 deletions

View File

@@ -2,10 +2,8 @@
pub mod beacon_chain;
pub mod error;
mod message_handler;
mod messages;
mod service;
pub mod sync;
pub use libp2p::NetworkConfig;
pub use messages::NodeMessage;
pub use service::Service;

View File

@@ -1,11 +1,9 @@
use crate::beacon_chain::BeaconChain;
use crate::error;
use crate::messages::NodeMessage;
use crate::service::{NetworkMessage, OutgoingMessage};
use crate::sync::SimpleSync;
use crossbeam_channel::{unbounded as channel, Sender};
use futures::future;
use futures::prelude::*;
use libp2p::{
rpc::{RPCMethod, RPCRequest, RPCResponse},
HelloMessage, PeerId, RPCEvent,
@@ -15,7 +13,6 @@ use slog::{debug, trace};
use std::collections::HashMap;
use std::sync::Arc;
use std::time::{Duration, Instant};
use types::Hash256;
/// Timeout for RPC requests.
const REQUEST_TIMEOUT: Duration = Duration::from_secs(30);
@@ -45,8 +42,6 @@ pub enum HandlerMessage {
PeerDialed(PeerId),
/// Peer has disconnected,
PeerDisconnected(PeerId),
/// A Node message has been received.
Message(PeerId, NodeMessage),
/// An RPC response/request has been received.
RPC(PeerId, RPCEvent),
}

View File

@@ -1,15 +0,0 @@
use libp2p::PeerId;
use libp2p::{HelloMessage, RPCEvent};
use types::{Hash256, Slot};
//TODO: This module can be entirely replaced in the RPC rewrite
/// Messages between nodes across the network.
//TODO: Remove this in the RPC rewrite
#[derive(Debug, Clone)]
pub enum NodeMessage {
RPC(RPCEvent),
BlockRequest,
// TODO: only for testing - remove
Message(String),
}

View File

@@ -1,7 +1,6 @@
use crate::beacon_chain::BeaconChain;
use crate::error;
use crate::message_handler::{HandlerMessage, MessageHandler};
use crate::messages::NodeMessage;
use crate::NetworkConfig;
use crossbeam_channel::{unbounded as channel, Sender, TryRecvError};
use futures::prelude::*;
@@ -53,21 +52,22 @@ impl Service {
executor,
log,
)?;
let network = Service {
let network_service = Service {
libp2p_exit,
network_send: network_send.clone(),
};
Ok((Arc::new(network), network_send))
Ok((Arc::new(network_service), network_send))
}
// TODO: Testing only
pub fn send_message(&self, message: String) {
let node_message = NodeMessage::Message(message);
self.network_send.send(NetworkMessage::Send(
PeerId::random(),
OutgoingMessage::NotifierTest,
));
pub fn send_message(&self) {
self.network_send
.send(NetworkMessage::Send(
PeerId::random(),
OutgoingMessage::NotifierTest,
))
.unwrap();
}
}