mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-01 17:01:09 +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]
|
||||
name = "grin_p2p_fut"
|
||||
name = "grin_p2p"
|
||||
version = "0.1.0"
|
||||
authors = ["Ignotus Peverell <igno.peverell@protonmail.com>"]
|
||||
|
||||
|
|
|
@ -117,9 +117,9 @@ impl Server {
|
|||
pub fn connect_peer(&self,
|
||||
addr: SocketAddr,
|
||||
h: reactor::Handle)
|
||||
-> Box<Future<Item = (), Error = Error>> {
|
||||
let socket = TcpStream::connect(&addr, &h).map_err(|e| Error::IOErr(e));
|
||||
-> Box<Future<Item = (), Error = ()>> {
|
||||
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 peers = peers.clone();
|
||||
|
||||
|
@ -128,10 +128,15 @@ impl Server {
|
|||
let peer_connect = add_to_peers(peers, Peer::connect(socket, &Handshake::new()));
|
||||
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)
|
||||
}
|
||||
|
||||
pub fn peers_count(&self) -> u32 {
|
||||
self.peers.read().unwrap().len() as u32
|
||||
}
|
||||
|
||||
/// Stops the server. Disconnect from all peers at the same time.
|
||||
pub fn stop(self) {
|
||||
let peers = self.peers.write().unwrap();
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// limitations under the License.
|
||||
|
||||
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 futures;
|
||||
extern crate tokio_core;
|
||||
|
@ -60,7 +60,11 @@ fn peer_handshake() {
|
|||
assert!(sent > 0);
|
||||
assert!(recv > 0);
|
||||
Ok(())
|
||||
}).and_then(|_| {server.stop(); Ok(())})
|
||||
}).and_then(|_| {
|
||||
assert!(server.peers_count() > 0);
|
||||
server.stop();
|
||||
Ok(())
|
||||
})
|
||||
}).map_err(|e| {
|
||||
panic!("Client connection failed: {}", e);
|
||||
}));
|
||||
|
|
Loading…
Reference in a new issue