Host

class Host(name, signal_time)

Representa una PC (Host).

Parameters
  • name (str) – Nombre de la PC.

  • signal_time (int) – Tiempo mínimo que debe estar un bit en transmisión.

data

Datos que debe enviar la PC.

Type

List[int]

property cable_head

Extremo del cable conectado a la PC

Type

DuplexCableHead

check_subnet(subnet_ip)

Checks if the host belogns to a given subnet

Parameters

subnet_ip (IP) – Subnet IP

Returns

True if the host belongs to the subnet

Return type

bool

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()

Crea un 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.

property is_active

Estado del dispositivo.

Type

bool

property is_connected

Estado de conección del host

Type

bool

receive()

Lee del cable al que está conectado.

Si la PC se encuentra enviando infromación entonces comprueba que no haya colisión.

En caso contrario almacena la lectura del cable en varios ocaciones entre un SIGNAL_TIME y el siguiente. Al concluir el SIGNAL_TIME se guarda como lectura final la moda de los datos almacenados.

received_bit(bit)

Se ejecuta cada vez que el host recibe un bit. Procesa la información en el buffer para indentificar frames cuyo destino sea el host en cuestión.

Parameters

bit (int) – Bit recibido.

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)

send(data, package_size=None)

Agrega nuevos datos para ser enviados a la lista de datos.

Parameters

data (List[List[int]]) – Datos a ser enviados.

send_frame(mac, data)

Ordena a un host a enviar un frame determinado a una dirección mac determinada.

Parameters
  • host_name (str) – Nombre del host que envía la información.

  • mac (List[int]) – Mac destino.

  • data (List[int]) – Frame a enviar.

property str_mac

Dirección mac del host.

Type

str

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.

random()x in the interval [0, 1).