[][src]Struct caminos_lib::topology::projective::LeviProjective

pub struct LeviProjective { /* fields omitted */ }

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]

Trait Implementations

impl Debug for LeviProjective[src]

impl Quantifiable for LeviProjective[src]

impl Topology for LeviProjective[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]

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 degree(&self, router_index: usize) -> usize[src]

Number of ports used to other routers.

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]

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]

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.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.