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}