[−][src]Struct caminos_lib::topology::cartesian::ValiantDOR
Valiant DOR. Proposed by Valiant for Multidimensional grids. Generally you should randomize n-1 dimensions, thereby employing shortest routes when the topology is just a path.
routing_info.selections=Some([k,r]) indicates that the next
call should go toward r at dimension randomized[k]. r having been selected randomly previously.
routing_info.selections=None indicates to behave as DOR.
Implementations
impl ValiantDOR
[src]
pub fn new(arg: RoutingBuilderArgument<'_>) -> ValiantDOR
[src]
Trait Implementations
impl Debug for ValiantDOR
[src]
impl Routing for ValiantDOR
[src]
pub fn next(
&self,
routing_info: &RoutingInfo,
topology: &dyn Topology,
current_router: usize,
target_server: usize,
num_virtual_channels: usize,
_rng: &RefCell<StdRng>
) -> Vec<CandidateEgress>
[src]
&self,
routing_info: &RoutingInfo,
topology: &dyn Topology,
current_router: usize,
target_server: usize,
num_virtual_channels: usize,
_rng: &RefCell<StdRng>
) -> Vec<CandidateEgress>
pub fn initialize_routing_info(
&self,
routing_info: &RefCell<RoutingInfo>,
topology: &dyn Topology,
current_router: usize,
target_server: usize,
rng: &RefCell<StdRng>
)
[src]
&self,
routing_info: &RefCell<RoutingInfo>,
topology: &dyn Topology,
current_router: usize,
target_server: usize,
rng: &RefCell<StdRng>
)
pub fn update_routing_info(
&self,
routing_info: &RefCell<RoutingInfo>,
topology: &dyn Topology,
current_router: usize,
current_port: usize,
target_server: usize,
rng: &RefCell<StdRng>
)
[src]
&self,
routing_info: &RefCell<RoutingInfo>,
topology: &dyn Topology,
current_router: usize,
current_port: usize,
target_server: usize,
rng: &RefCell<StdRng>
)
pub fn initialize(
&mut self,
_topology: &Box<dyn Topology>,
_rng: &RefCell<StdRng>
)
[src]
&mut self,
_topology: &Box<dyn Topology>,
_rng: &RefCell<StdRng>
)
Auto Trait Implementations
impl RefUnwindSafe for ValiantDOR
impl Send for ValiantDOR
impl Sync for ValiantDOR
impl Unpin for ValiantDOR
impl UnwindSafe for ValiantDOR
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,