Skip to main content

leodos_protocols/network/isl/routing/algorithm/
mod.rs

1use crate::network::isl::address::Address;
2use crate::network::isl::torus::Hop;
3use crate::network::isl::torus::Point;
4
5/// Physics-aware routing that minimizes physical ISL distance.
6pub mod distance_minimizing;
7/// Ground station gateway resolution with LOS calculation.
8pub mod gateway;
9/// Shortest-hop Manhattan routing on the toroidal grid.
10pub mod manhattan;
11
12/// Decides the next hop for a packet.
13pub trait RoutingAlgorithm {
14    /// Returns the next hop from `current` toward `target`
15    /// at the given simulation time.
16    fn route(
17        &self,
18        current: Point,
19        target: Address,
20        time_s: u32,
21    ) -> Hop;
22}