melvin_ob/scheduling/task/vel_change_task.rs
1use crate::flight_control::orbit::BurnSequence;
2
3/// Represents a task for executing a velocity change, using a burn sequence.
4#[derive(Debug)]
5pub struct VelocityChangeTask {
6 /// The burn sequence defining the velocity change.
7 burn: BurnSequence,
8}
9
10impl VelocityChangeTask {
11 /// Creates a new [`VelocityChangeTask`] with the specified burn sequence.
12 ///
13 /// # Arguments
14 /// - `burn`: The burn sequence to be executed as part of this task.
15 ///
16 /// # Returns
17 /// - A new instance of [`VelocityChangeTask`].
18 pub fn new(burn: BurnSequence) -> Self {
19 Self { burn }
20 }
21
22 /// Retrieves a reference to the burn sequence associated with the task.
23 ///
24 /// # Returns
25 /// - An immutable reference to the [`BurnSequence`].
26 pub fn burn(&self) -> &BurnSequence { &self.burn }
27}