Switch¶
- class Switch(name, ports_count, signal_time)¶
Representa un switch en la simulación.
- Parameters
name (str) – Nombre del switch
ports_count (int) – Cantidad de puertos
signal_time (int) –
Signal timede la simulación
- broadcast(from_port, data)¶
Envia un frame por todos los puertos.
- Parameters
from_port (str) – Puerto del cual se transmite la información.
data (List[List[int]]) – Frame a ser enviado.
- connect(cable_head, port_name)¶
Conecta un cable dado a un puerto determinado.
- Parameters
cable_head (DuplexCableHead) – Uno de los extremos del cable a conectar.
port_name (str) – Nombre del puerto en el que será conectado el cable.
- create_send_receiver(port)¶
Crea un
SendReceiver.- Parameters
port (str) – Puerto al que será asignado el
SendReceiver.- Returns
SendReceivercreado.- Return type
- disconnect(port_name)¶
Desconecta un puerto de un dispositivo.
- Parameters
port_name (str) – Nombre del puerto a desconectar.
- get_port_value(port_name, received=True)¶
Devuelve el valor del cable conectado a un puerto dado. En caso de no tener un cable conectado devuelve
'-'.- Parameters
port_name (str) – Nombre del puerto.
received (bool) –
- handle_buffer_data(port)¶
Se encarga de procesar los datos en el buffer de un puerto.
- Parameters
port (str) – Nombre del puerto
- property is_active¶
Estado del switch
- Type
bool
- receive_on_port(port, bit)¶
Guarda el bit recibido en un puerto y procesa los datos del mismo.
- Parameters
port (str) – Nombre del puerto.
bit (int) – Bit recibido
- reset()¶
Función que se ejecuta al inicio de cada ciclo de simulación para cada dispositivo.
- save_log(path='')¶
Guarda los logs del dispositivo en una ruta dada.
- Parameters
path (str) – Ruta donde se guardarán los logs. (Por defecto en la raíz)
- special_log(time, received, sent)¶
Representación especial para los logs de los switch.
- Parameters
time (int) – Timepo de ejecución de la simulación.
received (List[int]) – Lista de bits recibidos por cada puerto.
sent (List[int]) – Lista de bits enviados por cada puerto.
- update(time)¶
Función que se ejecuta en el ciclo de la simulación por cada dispositivo.
- Parameters
time (int) – Timepo de ejecución de la simulación.