[−][src]Struct caminos_lib::topology::projective::LeviProjective
Taking the Levi graph of the projective plane as topology. Both points and lines are routers with attached servers. We put the points in the first offsets, the lines next.
Implementations
impl LeviProjective
[src]
pub fn new(arg: TopologyBuilderArgument<'_>) -> LeviProjective
[src]
Trait Implementations
impl Debug for LeviProjective
[src]
impl Quantifiable for LeviProjective
[src]
pub fn total_memory(&self) -> usize
[src]
pub fn print_memory_breakdown(&self)
[src]
pub fn forecast_total_memory(&self) -> usize
[src]
impl Topology for LeviProjective
[src]
pub fn num_routers(&self) -> usize
[src]
pub fn num_servers(&self) -> usize
[src]
pub fn num_arcs(&self) -> usize
[src]
pub fn neighbour(&self, router_index: usize, port: usize) -> (Location, usize)
[src]
Neighbours of a router: Location+link class index Routers should be before servers
pub fn server_neighbour(&self, server_index: usize) -> (Location, usize)
[src]
The neighbour of a server: Location+link class index
pub fn diameter(&self) -> usize
[src]
the greatest distance from server to server
pub fn average_distance(&self) -> f32
[src]
from servers to different servers
pub fn distance(&self, origin: usize, destination: usize) -> usize
[src]
Distance from a router to another.
pub fn amount_shortest_paths(
&self,
_origin: usize,
_destination: usize
) -> usize
[src]
&self,
_origin: usize,
_destination: usize
) -> usize
Number of shortest paths from a router to another.
pub fn average_amount_shortest_paths(&self) -> f32
[src]
Average number of shortest paths from a router to another.
pub fn distance_distribution(&self, _origin: usize) -> Vec<usize>
[src]
pub fn maximum_degree(&self) -> usize
[src]
pub fn minimum_degree(&self) -> usize
[src]
pub fn degree(&self, router_index: usize) -> usize
[src]
Number of ports used to other routers.
pub fn ports(&self, router_index: usize) -> usize
[src]
pub fn cartesian_data(&self) -> Option<&CartesianData>
[src]
Specific for some toologies, but must be checkable for anyone
pub fn coordinated_routing_record(
&self,
_coordinates_a: &Vec<usize>,
_coordinates_b: &Vec<usize>,
_rng: Option<&RefCell<StdRng>>
) -> Vec<i32>
[src]
&self,
_coordinates_a: &Vec<usize>,
_coordinates_b: &Vec<usize>,
_rng: Option<&RefCell<StdRng>>
) -> Vec<i32>
Specific for some toologies, but must be checkable for anyone
pub fn is_direction_change(
&self,
_router_index: usize,
_input_port: usize,
_output_port: usize
) -> bool
[src]
&self,
_router_index: usize,
_input_port: usize,
_output_port: usize
) -> bool
Specific for some toologies, but must be checkable for anyone Indicates if going from input_port to output_port implies a direction change. Used for the bubble routing.
pub fn bfs(&self, origin: usize, class_weight: Option<&[usize]>) -> Vec<usize>
[src]
pub fn compute_distance_matrix(
&self,
class_weight: Option<&[usize]>
) -> Matrix<usize>
[src]
&self,
class_weight: Option<&[usize]>
) -> Matrix<usize>
pub fn floyd(&self) -> Matrix<usize>
[src]
pub fn compute_amount_shortest_paths(&self) -> (Matrix<usize>, Matrix<usize>)
[src]
pub fn components(&self, allowed_classes: &[bool]) -> Vec<Vec<usize>>
[src]
pub fn compute_near_far_matrices(&self) -> (Matrix<usize>, Matrix<usize>)
[src]
pub fn eccentricity(&self, router_index: usize) -> usize
[src]
pub fn check_adjacency_consistency(&self, amount_link_classes: Option<usize>)
[src]
Auto Trait Implementations
impl !RefUnwindSafe for LeviProjective
impl !Send for LeviProjective
impl !Sync for LeviProjective
impl Unpin for LeviProjective
impl !UnwindSafe for LeviProjective
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>,