[][src]Module caminos_lib::routing

Structs

CandidateEgress

Represent a port plus additional information that a routing algorithm can determine on how a packet must advance to the next router or server.

Mindless

Mindless routing Employ any path until reaching a router with the server atached. The interested may read a survey of random walks on graphs to try to predict the time to reach the destination. For example "Random Walks on Graphs: A Survey" by L. Lovász. Note that every cycle the request is made again. Hence, the walk is not actually unform random when there is network contention.

RoutingBuilderArgument

The argument of a builder function for Routings.

RoutingInfo

Information stored in the packet for the Routing algorithms to operate.

Shortest

Use the shortest path from origin to destination

SumRouting

To employ two different routings. It will use either first_routing or second_routing according to policy.

Valiant
WeighedShortest

Use the shortest path from origin to destination, giving a weight to each link class. Note that it uses information based on BFS and not on Dijkstra, which may cause discrepancies in some topologies. See the Topology::compute_distance_matrix and its notes on weights for more informations.

Enums

SumRoutingPolicy

A policy for the SumRouting about how to select among the two Routings.

Traits

Routing

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.

SourceRouting

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

new_routing

Build a new routing.

new_sum_routing_policy