BABE slot and epoch event notifications (#6563)

* BabeWorker -> BabeSlotWorker

* SlotWorker::notify_slot: similar to claim_slot, but called no matter authoring

* Wrap the future with a new struct BabeWorker

* Add type definition slot_notification_sinks

* Function slot_notification_streams for the receiver side

* Get a handle of slot_notification_sinks in BabeSlotWorker

* Implement notify_slot

* Switch to use bounded mpsc

* Do not drop the sink when channel is full

Only skip sending the message and emit a warning, because it is recoverable.

* Fix future type bounds

* Add must_use and sink type alias
This commit is contained in:
Wei Tang
2020-07-30 17:07:27 +02:00
committed by GitHub
parent 9ac30f7116
commit b6dedd9016
4 changed files with 92 additions and 10 deletions
+2
View File
@@ -6389,6 +6389,7 @@ dependencies = [
"pdqselect",
"rand 0.7.3",
"rand_chacha 0.2.2",
"retain_mut",
"sc-block-builder",
"sc-client-api",
"sc-consensus-epochs",
@@ -6415,6 +6416,7 @@ dependencies = [
"sp-keyring",
"sp-runtime",
"sp-timestamp",
"sp-utils",
"sp-version",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",