light: give free credits for reserved peers (#9448)

* light: give free credits for reserved peers

* Fix ethcore-light tests

* Test free_flow_params
This commit is contained in:
Wei Tang
2018-09-10 19:45:49 +08:00
committed by GitHub
parent 2177a0179e
commit 44531e3009
6 changed files with 59 additions and 5 deletions

View File

@@ -102,7 +102,7 @@ pub struct NetworkContext<'s> {
sessions: Arc<RwLock<Slab<SharedSession>>>,
session: Option<SharedSession>,
session_id: Option<StreamToken>,
_reserved_peers: &'s HashSet<NodeId>,
reserved_peers: &'s HashSet<NodeId>,
}
impl<'s> NetworkContext<'s> {
@@ -121,7 +121,7 @@ impl<'s> NetworkContext<'s> {
session_id: id,
session,
sessions,
_reserved_peers: reserved_peers,
reserved_peers: reserved_peers,
}
}
@@ -190,6 +190,13 @@ impl<'s> NetworkContextTrait for NetworkContext<'s> {
}
fn subprotocol_name(&self) -> ProtocolId { self.protocol }
fn is_reserved_peer(&self, peer: PeerId) -> bool {
self.session_info(peer)
.and_then(|info| info.id)
.map(|node| self.reserved_peers.contains(&node))
.unwrap_or(false)
}
}
/// Shared host information