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

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. A Routing does not receive information about the state of buffers or similar. Such a mechanism should be given as a VirtualChannelPolicy.
  • Trait for Routings 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