base
cosmica.comm_link.base
__all__
module-attribute
__all__ = [
"CommLinkPerformance",
"MemorylessCommLinkCalculator",
"MemorylessCommLinkCalculatorWrapper",
]
CommLinkCalculator
Bases: ABC
calc
abstractmethod
calc(
edges_time_series: Sequence[Collection[tuple[T, U]]],
*,
dynamics_data: DynamicsData,
rng: Generator
) -> list[dict[tuple[T, U], CommLinkPerformance]]
Calculate communication link performance for each edge in a network.
Source code in src/cosmica/comm_link/base.py
38 39 40 41 42 43 44 45 46 47 | |
CommLinkPerformance
Bases: TypedDict
delay
instance-attribute
delay: float
link_available
instance-attribute
link_available: bool
link_capacity
instance-attribute
link_capacity: float
MemorylessCommLinkCalculator
Bases: ABC
calc
abstractmethod
calc(
edges: Collection[tuple[T, U]],
*,
dynamics_data: DynamicsData,
rng: Generator
) -> dict[tuple[T, U], CommLinkPerformance]
Calculate communication link performance for each edge in a network.
Source code in src/cosmica/comm_link/base.py
25 26 27 28 29 30 31 32 33 34 | |
MemorylessCommLinkCalculatorWrapper
MemorylessCommLinkCalculatorWrapper(
memoryless_calculator: MemorylessCommLinkCalculator[
T, U
],
)
Bases: CommLinkCalculator[T, U]
Convert a memoryless calculator to a time series calculator by calling the memoryless one at each time step.
Source code in src/cosmica/comm_link/base.py
53 54 55 56 57 58 | |
memoryless_calculator
instance-attribute
memoryless_calculator = memoryless_calculator
calc
calc(
edges_time_series: Sequence[Collection[tuple[T, U]]],
*,
dynamics_data: DynamicsData,
rng: Generator
) -> list[dict[tuple[T, U], CommLinkPerformance]]
Source code in src/cosmica/comm_link/base.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 | |