4.4.4. Basic Network Simulators#

4.4.4.1. Simulation#

class simbricks.components.net.simulation.base.net.WireNet(simulation: Simulation, relative_pcap_filepath: str | None = None)#
add(wire: EthWire)#
toJSON() dict#
classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
run_cmd(inst: Instantiation) str#

Command to execute this simulator.

T = ~T#
checkpoint_commands() list[str]#
cleanup_commands() list[str]#
components() set[Component]#
property extra_args: str#
static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
filter_components_by_type(ty: type[T]) list[T]#
static filter_sockets(sockets: list[Socket], filter_type: SockType = SockType.LISTEN) list[Socket]#
full_name() str#

Full name of the simulator.

get_channels() list[Channel]#
get_interface_url(inst: Instantiation, intf: Interface) str#
get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
static get_unique_latency_period_sync(channels: list[Channel]) tuple[int, int, bool]#
id() int#
init_network() None#
async prepare(inst: Instantiation) None#
resreq_cores() int#

Number of cores this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

resreq_mem() int#

Number of memory in MB this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

sockets_cleanup(inst: Instantiation) list[Socket]#
sockets_wait(inst: Instantiation) list[Socket]#
static split_sockets_by_type(sockets: list[Socket]) tuple[list[Socket], list[Socket]]#
start_delay() int#
supported_socket_types(interface: Interface) set[SockType]#
supports_checkpointing() bool#
property wait_terminate: bool#
class simbricks.components.net.simulation.base.net.SwitchNet(simulation: Simulation, executable: str = 'simb_net_switch', relative_pcap_filepath: str | None = None)#
add(switch_spec: EthSwitch)#
toJSON() dict#
classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
run_cmd(inst: Instantiation) str#

Command to execute this simulator.

T = ~T#
checkpoint_commands() list[str]#
cleanup_commands() list[str]#
components() set[Component]#
property extra_args: str#
static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
filter_components_by_type(ty: type[T]) list[T]#
static filter_sockets(sockets: list[Socket], filter_type: SockType = SockType.LISTEN) list[Socket]#
full_name() str#

Full name of the simulator.

get_channels() list[Channel]#
get_interface_url(inst: Instantiation, intf: Interface) str#
get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
static get_unique_latency_period_sync(channels: list[Channel]) tuple[int, int, bool]#
id() int#
init_network() None#
async prepare(inst: Instantiation) None#
resreq_cores() int#

Number of cores this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

resreq_mem() int#

Number of memory in MB this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

sockets_cleanup(inst: Instantiation) list[Socket]#
sockets_wait(inst: Instantiation) list[Socket]#
static split_sockets_by_type(sockets: list[Socket]) tuple[list[Socket], list[Socket]]#
start_delay() int#
supported_socket_types(interface: Interface) set[SockType]#
supports_checkpointing() bool#
property wait_terminate: bool#