mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-08 04:11:08 +03:00
Minor fixes, testing server peer count.
This commit is contained in:
parent
7bea7341ab
commit
19a700b81e
3 changed files with 15 additions and 6 deletions
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "grin_p2p_fut"
|
name = "grin_p2p"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Ignotus Peverell <igno.peverell@protonmail.com>"]
|
authors = ["Ignotus Peverell <igno.peverell@protonmail.com>"]
|
||||||
|
|
||||||
|
|
|
@ -117,9 +117,9 @@ impl Server {
|
||||||
pub fn connect_peer(&self,
|
pub fn connect_peer(&self,
|
||||||
addr: SocketAddr,
|
addr: SocketAddr,
|
||||||
h: reactor::Handle)
|
h: reactor::Handle)
|
||||||
-> Box<Future<Item = (), Error = Error>> {
|
-> Box<Future<Item = (), Error = ()>> {
|
||||||
let socket = TcpStream::connect(&addr, &h).map_err(|e| Error::IOErr(e));
|
|
||||||
let peers = self.peers.clone();
|
let peers = self.peers.clone();
|
||||||
|
let socket = TcpStream::connect(&addr, &h).map_err(|e| Error::IOErr(e));
|
||||||
let request = socket.and_then(move |socket| {
|
let request = socket.and_then(move |socket| {
|
||||||
let peers = peers.clone();
|
let peers = peers.clone();
|
||||||
|
|
||||||
|
@ -128,10 +128,15 @@ impl Server {
|
||||||
let peer_connect = add_to_peers(peers, Peer::connect(socket, &Handshake::new()));
|
let peer_connect = add_to_peers(peers, Peer::connect(socket, &Handshake::new()));
|
||||||
with_timeout(Box::new(peer_connect), &h)
|
with_timeout(Box::new(peer_connect), &h)
|
||||||
})
|
})
|
||||||
.and_then(|(socket, peer)| peer.run(socket, &DummyAdapter {}));
|
.and_then(|(socket, peer)| peer.run(socket, &DummyAdapter {}))
|
||||||
|
.map_err(|_| ());
|
||||||
Box::new(request)
|
Box::new(request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn peers_count(&self) -> u32 {
|
||||||
|
self.peers.read().unwrap().len() as u32
|
||||||
|
}
|
||||||
|
|
||||||
/// Stops the server. Disconnect from all peers at the same time.
|
/// Stops the server. Disconnect from all peers at the same time.
|
||||||
pub fn stop(self) {
|
pub fn stop(self) {
|
||||||
let peers = self.peers.write().unwrap();
|
let peers = self.peers.write().unwrap();
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
extern crate grin_core as core;
|
extern crate grin_core as core;
|
||||||
extern crate grin_p2p_fut as p2p;
|
extern crate grin_p2p as p2p;
|
||||||
extern crate env_logger;
|
extern crate env_logger;
|
||||||
extern crate futures;
|
extern crate futures;
|
||||||
extern crate tokio_core;
|
extern crate tokio_core;
|
||||||
|
@ -60,7 +60,11 @@ fn peer_handshake() {
|
||||||
assert!(sent > 0);
|
assert!(sent > 0);
|
||||||
assert!(recv > 0);
|
assert!(recv > 0);
|
||||||
Ok(())
|
Ok(())
|
||||||
}).and_then(|_| {server.stop(); Ok(())})
|
}).and_then(|_| {
|
||||||
|
assert!(server.peers_count() > 0);
|
||||||
|
server.stop();
|
||||||
|
Ok(())
|
||||||
|
})
|
||||||
}).map_err(|e| {
|
}).map_err(|e| {
|
||||||
panic!("Client connection failed: {}", e);
|
panic!("Client connection failed: {}", e);
|
||||||
}));
|
}));
|
||||||
|
|
Loading…
Reference in a new issue