Skip to content

Commit d7cac19

Browse files
refactor: Do not clone in ReplicatedState::get_ingress_status() (#2505)
There is no need for it, an immutable reference will do.
1 parent 5d68669 commit d7cac19

File tree

6 files changed

+11
-8
lines changed

6 files changed

+11
-8
lines changed

rs/execution_environment/src/scheduler/test_utilities.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,11 @@ impl SchedulerTest {
312312
}
313313

314314
pub fn ingress_status(&self, message_id: &MessageId) -> IngressStatus {
315-
self.state.as_ref().unwrap().get_ingress_status(message_id)
315+
self.state
316+
.as_ref()
317+
.unwrap()
318+
.get_ingress_status(message_id)
319+
.clone()
316320
}
317321

318322
pub fn ingress_error(&self, message_id: &MessageId) -> UserError {

rs/execution_environment/tests/history.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ fn test_valid_transitions() {
185185
message_id.clone(),
186186
next_state.clone(),
187187
);
188-
assert_eq!(state.get_ingress_status(&message_id), next_state);
188+
assert_eq!(state.get_ingress_status(&message_id), &next_state);
189189
}
190190
}
191191
})

rs/messaging/src/scheduling/valid_set_rule.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ impl ValidSetRuleImpl {
195195

196196
/// Checks whether the given message has already been inducted.
197197
fn is_duplicate(&self, state: &ReplicatedState, msg: &SignedIngressContent) -> bool {
198-
state.get_ingress_status(&msg.id()) != IngressStatus::Unknown
198+
state.get_ingress_status(&msg.id()) != &IngressStatus::Unknown
199199
}
200200

201201
/// Records the result of inducting an ingress message.

rs/messaging/src/scheduling/valid_set_rule/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ fn update_history_if_induction_failed() {
352352
// ReplicatedState.
353353
valid_set_rule.induct_message(&mut state, msg.clone(), SMALL_APP_SUBNET_MAX_SIZE);
354354
assert!(state.canister_state(&canister_id).is_none());
355-
assert_eq!(state.get_ingress_status(&msg.id()), status_clone);
355+
assert_eq!(state.get_ingress_status(&msg.id()), &status_clone);
356356
assert_inducted_ingress_messages_eq(
357357
metric_vec(&[(&[(LABEL_STATUS, LABEL_VALUE_CANISTER_NOT_FOUND)], 1)]),
358358
&metrics_registry,

rs/replicated_state/src/replicated_state.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,12 +525,11 @@ impl ReplicatedState {
525525
&self.metadata
526526
}
527527

528-
pub fn get_ingress_status(&self, message_id: &MessageId) -> IngressStatus {
528+
pub fn get_ingress_status(&self, message_id: &MessageId) -> &IngressStatus {
529529
self.metadata
530530
.ingress_history
531531
.get(message_id)
532-
.cloned()
533-
.unwrap_or(IngressStatus::Unknown)
532+
.unwrap_or(&IngressStatus::Unknown)
534533
}
535534

536535
pub fn get_ingress_history(&self) -> &IngressHistoryState {

rs/test_utilities/execution_environment/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ impl ExecutionTest {
470470
}
471471

472472
pub fn ingress_status(&self, message_id: &MessageId) -> IngressStatus {
473-
self.state().get_ingress_status(message_id)
473+
self.state().get_ingress_status(message_id).clone()
474474
}
475475

476476
pub fn ingress_state(&self, message_id: &MessageId) -> IngressState {

0 commit comments

Comments
 (0)