Skip to content

Commit

Permalink
simplified constraints in extension/mod.rs using UnitFinalizationHand…
Browse files Browse the repository at this point in the history
…ler's associated types (Data, Hasher)
  • Loading branch information
fixxxedpoint committed May 3, 2024
1 parent 4117e2a commit 06e9f67
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 12 deletions.
16 changes: 7 additions & 9 deletions consensus/src/extension/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::{dag::DagUnit, Data, Hasher, MultiKeychain};
use crate::{dag::DagUnit, MultiKeychain};

mod election;
mod extender;
Expand All @@ -17,17 +17,15 @@ use extender::Extender;
/// We refer to the documentation https://cardinal-cryptography.github.io/AlephBFT/internals.html
/// Section 5.4 for a discussion of this component.
pub struct Ordering<
H: Hasher,
D: Data,
MK: MultiKeychain,
UFH: UnitFinalizationHandler<Data = D, Hasher = H>,
UFH: UnitFinalizationHandler,
> {
extender: Extender<DagUnit<H, D, MK>>,
extender: Extender<DagUnit<UFH::Hasher, UFH::Data, MK>>,
finalization_handler: UFH,
}

impl<H: Hasher, D: Data, MK: MultiKeychain, UFH: UnitFinalizationHandler<Data = D, Hasher = H>>
Ordering<H, D, MK, UFH>
impl<MK: MultiKeychain, UFH: UnitFinalizationHandler>
Ordering<MK, UFH>
{
pub fn new(finalization_handler: UFH) -> Self {
let extender = Extender::new();
Expand All @@ -37,11 +35,11 @@ impl<H: Hasher, D: Data, MK: MultiKeychain, UFH: UnitFinalizationHandler<Data =
}
}

fn handle_batch(&mut self, batch: Vec<DagUnit<H, D, MK>>) {
fn handle_batch(&mut self, batch: Vec<DagUnit<UFH::Hasher, UFH::Data, MK>>) {
self.finalization_handler.batch_finalized(batch);
}

pub fn add_unit(&mut self, unit: DagUnit<H, D, MK>) {
pub fn add_unit(&mut self, unit: DagUnit<UFH::Hasher, UFH::Data, MK>) {
for batch in self.extender.add_unit(unit) {
self.handle_batch(batch);
}
Expand Down
4 changes: 2 additions & 2 deletions consensus/src/member.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,9 @@ impl<D: Data, H: Hasher, FH: FinalizationHandler<D>> UnitFinalizationHandler
}

#[derive(Clone)]
pub struct LocalIO<DP: DataProvider, FH, US: AsyncWrite, UL: AsyncRead> {
pub struct LocalIO<DP: DataProvider, UFH: UnitFinalizationHandler, US: AsyncWrite, UL: AsyncRead> {
data_provider: DP,
finalization_handler: FH,
finalization_handler: UFH,
unit_saver: US,
unit_loader: UL,
}
Expand Down
2 changes: 1 addition & 1 deletion consensus/src/runway/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ where
store: UnitStore<DagUnit<H, D, MK>>,
keychain: MK,
dag: Dag<H, D, MK>,
ordering: Ordering<H, D, MK, UFH>,
ordering: Ordering<MK, UFH>,
alerts_for_alerter: Sender<Alert<H, D, MK::Signature>>,
notifications_from_alerter: Receiver<ForkingNotification<H, D, MK::Signature>>,
unit_messages_from_network: Receiver<RunwayNotificationIn<H, D, MK::Signature>>,
Expand Down

0 comments on commit 06e9f67

Please sign in to comment.