Add DHT key-value behaviour (#2937)

* Add DHT key-value behaviour

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>

* Return which key failed to be inserted
This commit is contained in:
Fedor Sakharov
2019-06-26 14:30:39 +03:00
committed by Pierre Krieger
parent 0ddf4a2a00
commit e735853ca3
9 changed files with 181 additions and 14 deletions
+6
View File
@@ -30,6 +30,7 @@ use message::{
};
use message::{BlockAttributes, Direction, FromBlock, RequestId};
use message::generic::{Message as GenericMessage, ConsensusMessage};
use event::Event;
use consensus_gossip::{ConsensusGossip, MessageRecipient as GossipMessageRecipient};
use on_demand::{OnDemandCore, OnDemandNetwork, RequestData};
use specialization::NetworkSpecialization;
@@ -49,6 +50,7 @@ use util::LruHashSet;
mod util;
pub mod consensus_gossip;
pub mod message;
pub mod event;
pub mod on_demand;
pub mod specialization;
pub mod sync;
@@ -497,6 +499,10 @@ impl<B: BlockT, S: NetworkSpecialization<B>, H: ExHashT> Protocol<B, S, H> {
self.context_data.peers.iter().map(|(id, peer)| (id, &peer.info))
}
pub fn on_event(&mut self, event: Event) {
self.specialization.on_event(event);
}
pub fn on_custom_message(
&mut self,
network_out: &mut dyn NetworkOut<B>,