Skip to content

Commit 718a031

Browse files
committed
refactor(p2p_channels_best_tip): Combine all action types of the p2p_channels_best_tip module into the parent action type
1 parent 8f50185 commit 718a031

16 files changed

+186
-361
lines changed

node/src/event_source/event_source_effects.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use p2p::P2pListenEvent;
66
use crate::action::CheckTimeoutsAction;
77
use crate::block_producer::vrf_evaluator::BlockProducerVrfEvaluatorEvaluationSuccessAction;
88
use crate::external_snark_worker::ExternalSnarkWorkerEvent;
9-
use crate::p2p::channels::best_tip::P2pChannelsBestTipReadyAction;
9+
use crate::p2p::channels::best_tip::P2pChannelsBestTipAction;
1010
use crate::p2p::channels::rpc::P2pChannelsRpcReadyAction;
1111
use crate::p2p::channels::snark::{
1212
P2pChannelsSnarkLibp2pReceivedAction, P2pChannelsSnarkReadyAction,
@@ -173,7 +173,7 @@ pub fn event_source_effects<S: Service>(store: &mut Store<S>, action: EventSourc
173173
Ok(_) => match chan_id {
174174
ChannelId::BestTipPropagation => {
175175
// TODO(binier): maybe dispatch success and then ready.
176-
store.dispatch(P2pChannelsBestTipReadyAction { peer_id });
176+
store.dispatch(P2pChannelsBestTipAction::Ready { peer_id });
177177
}
178178
ChannelId::SnarkPropagation => {
179179
// TODO(binier): maybe dispatch success and then ready.

node/src/logger/logger_effects.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -363,20 +363,20 @@ pub fn logger_effects<S: Service>(store: &Store<S>, action: ActionWithMetaRef<'_
363363
P2pAction::Channels(action) => match action {
364364
P2pChannelsAction::MessageReceived(_) => {}
365365
P2pChannelsAction::BestTip(action) => match action {
366-
P2pChannelsBestTipAction::Init(action) => {
366+
P2pChannelsBestTipAction::Init { peer_id } => {
367367
openmina_core::log::debug!(
368368
meta.time();
369369
kind = kind.to_string(),
370-
summary = format!("peer_id: {}", action.peer_id),
371-
peer_id = action.peer_id.to_string()
370+
summary = format!("peer_id: {peer_id}"),
371+
peer_id = peer_id.to_string()
372372
);
373373
}
374-
P2pChannelsBestTipAction::Ready(action) => {
374+
P2pChannelsBestTipAction::Ready { peer_id } => {
375375
openmina_core::log::debug!(
376376
meta.time();
377377
kind = kind.to_string(),
378-
summary = format!("peer_id: {}", action.peer_id),
379-
peer_id = action.peer_id.to_string()
378+
summary = format!("peer_id: {peer_id}"),
379+
peer_id = peer_id.to_string()
380380
);
381381
}
382382
_ => {}

node/src/p2p/channels/best_tip/p2p_channels_best_tip_actions.rs

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,6 @@
11
use super::*;
22

3-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipInitAction {
4-
fn is_enabled(&self, state: &crate::State) -> bool {
5-
self.is_enabled(&state.p2p)
6-
}
7-
}
8-
9-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipPendingAction {
10-
fn is_enabled(&self, state: &crate::State) -> bool {
11-
self.is_enabled(&state.p2p)
12-
}
13-
}
14-
15-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipReadyAction {
16-
fn is_enabled(&self, state: &crate::State) -> bool {
17-
self.is_enabled(&state.p2p)
18-
}
19-
}
20-
21-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipRequestSendAction {
22-
fn is_enabled(&self, state: &crate::State) -> bool {
23-
self.is_enabled(&state.p2p)
24-
}
25-
}
26-
27-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipReceivedAction {
28-
fn is_enabled(&self, state: &crate::State) -> bool {
29-
self.is_enabled(&state.p2p)
30-
}
31-
}
32-
33-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipRequestReceivedAction {
34-
fn is_enabled(&self, state: &crate::State) -> bool {
35-
self.is_enabled(&state.p2p)
36-
}
37-
}
38-
39-
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipResponseSendAction {
3+
impl redux::EnablingCondition<crate::State> for P2pChannelsBestTipAction {
404
fn is_enabled(&self, state: &crate::State) -> bool {
415
self.is_enabled(&state.p2p)
426
}

node/src/p2p/mod.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,7 @@ impl_into_global_action!(discovery::P2pDiscoveryKademliaAddRouteAction);
9797

9898
impl_into_global_action!(channels::P2pChannelsMessageReceivedAction);
9999

100-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipInitAction);
101-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipPendingAction);
102-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipReadyAction);
103-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipRequestSendAction);
104-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipReceivedAction);
105-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipRequestReceivedAction);
106-
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipResponseSendAction);
100+
impl_into_global_action!(channels::best_tip::P2pChannelsBestTipAction);
107101

108102
impl_into_global_action!(channels::snark::P2pChannelsSnarkInitAction);
109103
impl_into_global_action!(channels::snark::P2pChannelsSnarkPendingAction);

node/src/p2p/p2p_effects.rs

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use crate::watched_accounts::{
3131
};
3232
use crate::{Service, Store};
3333

34-
use super::channels::best_tip::{P2pChannelsBestTipAction, P2pChannelsBestTipResponseSendAction};
34+
use super::channels::best_tip::P2pChannelsBestTipAction;
3535
use super::channels::rpc::{
3636
BestTipWithProof, P2pChannelsRpcAction, P2pChannelsRpcRequestSendAction,
3737
P2pChannelsRpcResponseSendAction, P2pRpcRequest, P2pRpcResponse,
@@ -313,32 +313,17 @@ pub fn p2p_effects<S: Service>(store: &mut Store<S>, action: P2pActionWithMeta)
313313
P2pChannelsAction::MessageReceived(action) => {
314314
action.effects(&meta, store);
315315
}
316-
P2pChannelsAction::BestTip(action) => match action {
317-
P2pChannelsBestTipAction::Init(action) => {
318-
action.effects(&meta, store);
319-
}
320-
P2pChannelsBestTipAction::Pending(_) => {}
321-
P2pChannelsBestTipAction::Ready(action) => {
322-
action.effects(&meta, store);
323-
}
324-
P2pChannelsBestTipAction::RequestSend(action) => {
325-
action.effects(&meta, store);
326-
}
327-
P2pChannelsBestTipAction::Received(action) => {
328-
action.effects(&meta, store);
329-
}
330-
P2pChannelsBestTipAction::RequestReceived(action) => {
316+
P2pChannelsAction::BestTip(action) => {
317+
if let P2pChannelsBestTipAction::RequestReceived { peer_id } = action {
331318
if let Some(best_tip) = store.state().transition_frontier.best_tip() {
332-
store.dispatch(P2pChannelsBestTipResponseSendAction {
333-
peer_id: action.peer_id,
319+
store.dispatch(P2pChannelsBestTipAction::ResponseSend {
320+
peer_id,
334321
best_tip: best_tip.clone(),
335322
});
336323
}
337324
}
338-
P2pChannelsBestTipAction::ResponseSend(action) => {
339-
action.effects(&meta, store);
340-
}
341-
},
325+
action.effects(&meta, store);
326+
}
342327
P2pChannelsAction::Snark(action) => match action {
343328
P2pChannelsSnarkAction::Init(action) => {
344329
action.effects(&meta, store);

node/src/snark_pool/candidate/snark_pool_candidate_state.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ impl SnarkPoolCandidatesState {
274274
}
275275
}
276276

277-
pub fn remove_inferrior_snarks(&mut self, snark: &Snark) {
277+
pub fn remove_inferior_snarks(&mut self, snark: &Snark) {
278278
let job_id = snark.job_id();
279279
let by_peer = &mut self.by_peer;
280280
if let Some(peers) = self.by_job_id.get_mut(&job_id) {

node/src/snark_pool/snark_pool_reducer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ impl SnarkPoolState {
7575
sender: a.sender,
7676
});
7777
self.insert(job);
78-
self.candidates.remove_inferrior_snarks(&a.snark);
78+
self.candidates.remove_inferior_snarks(&a.snark);
7979
}
8080
SnarkPoolAction::P2pSendAll(_) => {}
8181
SnarkPoolAction::P2pSend(_) => {}

node/src/transition_frontier/sync/transition_frontier_sync_actions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl redux::EnablingCondition<crate::State> for TransitionFrontierSyncBestTipUpd
107107
//
108108
// Otherwise other block producers might spam the network
109109
// with blocks that are better than current best tip, yet
110-
// inferrior to the block that we are producing and we can't
110+
// inferior to the block that we are producing and we can't
111111
// let that get in the way of us producing a block.
112112
&& state.block_producer.producing_won_slot()
113113
.filter(|_| !state.block_producer.is_me(self.best_tip.producer()))

node/src/transition_frontier/transition_frontier_effects.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use redux::Timestamp;
33
use crate::block_producer::BlockProducerBestTipUpdateAction;
44
use crate::consensus::ConsensusAction;
55
use crate::ledger::LEDGER_DEPTH;
6-
use crate::p2p::channels::best_tip::P2pChannelsBestTipResponseSendAction;
6+
use crate::p2p::channels::best_tip::P2pChannelsBestTipAction;
77
use crate::snark_pool::{SnarkPoolJobsUpdateAction, SnarkWork};
88
use crate::stats::sync::SyncingLedger;
99
use crate::Store;
@@ -321,7 +321,7 @@ pub fn transition_frontier_effects<S: crate::Service>(
321321
// publish new best tip.
322322
let best_tip = best_tip.clone();
323323
for peer_id in store.state().p2p.ready_peers() {
324-
store.dispatch(P2pChannelsBestTipResponseSendAction {
324+
store.dispatch(P2pChannelsBestTipAction::ResponseSend {
325325
peer_id,
326326
best_tip: best_tip.clone(),
327327
});

0 commit comments

Comments
 (0)