-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Conversation
- Cleanup dead disputes - Update sends for new sessions - Retry on errors
and use them in statement-distribution.
We only need a `SubsystemSender` not a full `SubsystemContext`.
Make it possible to consume stuff without clones.
Please file an issue! And yes, agreed. Best to split |
Noiice! Thanks for the tip!!
…On 6/20/21 7:18 AM, Andreas Doerr wrote:
***@***.**** commented on this pull request.
------------------------------------------------------------------------
In node/network/dispute-distribution/src/sender/mod.rs
<#3282 (comment)>:
> +// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
+
+
+use std::collections::HashMap;
+use std::collections::HashSet;
+use std::collections::hash_map::Entry;
+
+use futures::Future;
+use futures::channel::mpsc;
+use futures::channel::oneshot;
+use futures::future::RemoteHandle;
+
+use polkadot_node_network_protocol::IfDisconnected;
rust-analyzer has an |Import Granularity| config item. For me,
|preserve| works best. This will just follow along with the current
structure.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3282 (comment)>,
or unsubscribe
</~https://github.com/notifications/unsubscribe-auth/AALUZ2K5TCZQR4ZH3QCA35LTTV22NANCNFSM463RCMKA>.
|
|
||
|
||
/// Get mock keystore with `Ferdie` key. | ||
pub fn make_ferdie_keystore() -> SyncCryptoStorePtr { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice.
&mut self, | ||
ctx: &mut Context, | ||
sender: &mut Sender, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad to see this change.
node/subsystem/src/messages.rs
Outdated
/// This is, we either discarded the votes, just record them because we | ||
/// casted our vote already or recovered availability for the candidate | ||
/// successfully. | ||
pending_confirmation: oneshot::Sender<ImportStatementsResult> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dispute coordinator accepts all statements on all candidates, even undisputed ones. I implemented this in #3348. So there is some middle ground between "once we've cast our vote or recovered availability".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not 100% sure what you mean, but I clarified the comment a bit. Hopefully it makes sense - it is quite late over here already.
Seems to be stale. All remarks have been addressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post merge review - LGTM 👍 a few tiny nits
Incorporating post merge review remarks.
This PR implements the dispute distribution as described in the guide it also integrates dispute distribution with other subsystems.
In particular:
RuntimeInfo
work with a subsystem sender only, instead of a fullSubsystemContext
.Todos:
Vote recovery will be a second PR, disputes should already be fully functional without it, see paritytech/polkadot-sdk#965
Closes #3163 .
Closes #3399 .