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}