Module caminos_lib::routing
source · Expand description
A Routing defines the ways to select a next router to eventually reach the destination.
see new_routing
for documentation on the configuration syntax of predefined routings.
Re-exports
pub use crate::event::Time;
pub use crate::error::Error;
pub use self::polarized::Polarized;
pub use self::basic::*;
pub use self::extra::*;
pub use self::channel_operations::*;
pub use self::updown::*;
Modules
- Contains Shortest, Valiant, Mindless, WeighedShortest.
- Contains ChannelsPerHop, ChannelsPerHopPerLinkClass, ChannelMap, AscendantChannelsWithLinkClass
- Contains Sum, Stubborn, EachLengthSourceAdaptiveRouting
- The Polarized routing. A routing that includes many routes of many lengths.
- Contains UpDown, UpDownStar.
Structs
- Represent a port plus additional information that a routing algorithm can determine on how a packet must advance to the next router or server.
- Annotations by the routing to keep track of the candidates.
- The argument of a builder function for
Routings
. - Information stored in the packet for the
Routing
algorithms to operate. - The candidates as provided by the routing together with related information. This is, the return type of
Routing::next
. - Encapsulation of SourceRouting, to allow storing several paths in the packet. And then, have adaptiveness for the first hop.
Traits
- A routing algorithm to provide candidate routes when the
Router
requires. It may store/use information in the RoutingInfo. ARouting
does not receive information about the state of buffers or similar. Such a mechanism should be given as aVirtualChannelPolicy
. - Trait for
Routing
s that build the whole route at source. This includes routings such as K-shortest paths. But I have all my implementations depending on a private algorithm, so they are not yet here. They will all be released when the dependency is formally published.
Functions
- Build a new routing.