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 time de 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

SendReceiver creado.

Return type

SendReceiver

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.