Redes.Ethernet
Class NivelEthernet

java.lang.Object
  extended byRedes.Nivel
      extended byRedes.Ethernet.NivelEthernet

public class NivelEthernet
extends Nivel

Nivel de enlace Ethernet


Field Summary
(package private)  DireccionEthernet direccion
          Direccion MAC de las tramas que atenderemos, el resto las ignoraremos
(package private)  Red red
          Red a la que enviaremos los datos y de la que recibiremos
 
Fields inherited from class Redes.Nivel
colaEntrada, colaSalida, equipo, parametros
 
Constructor Summary
NivelEthernet(Equipo equipo, Red red, DireccionEthernet direccion)
          Constructor
 
Method Summary
 boolean ComprobarEntrada(Dato dato)
          Comprueba que el dato de entrada es correcto
 boolean ComprobarSalida(Dato dato)
          Comprueba si el dato de salida es correcto
private  boolean EsParaMi(DireccionEthernet destino)
          Comprueba si la trama va dirigia a este nivel o no
 java.lang.String ID()
          Devuelve el identificador del nivel
 int Pendientes()
          Devuelve el numero de tramas pendientes de ser procesadas
 void Procesar(int instante)
          Procesa los paquetes programados para un instante
private  void ProcesarEntrada(int instante)
          Envia las tramas de entrada que toquen, al nivel superior (p. ej: nivelIPv4)
private  void ProcesarSalida(int instante)
          Envia las tramas de salida que toquen, a la red
 
Methods inherited from class Redes.Nivel
getID, getNivelInferior, getNivelSuperior, getRetardo, ProgramarEntrada, ProgramarSalida, setNivelInferior, setNivelSuperior, SimularError, SimularError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

red

Red red
Red a la que enviaremos los datos y de la que recibiremos


direccion

DireccionEthernet direccion
Direccion MAC de las tramas que atenderemos, el resto las ignoraremos

Constructor Detail

NivelEthernet

public NivelEthernet(Equipo equipo,
                     Red red,
                     DireccionEthernet direccion)
Constructor

Parameters:
equipo - Equipo propietario de la interfaz que posee este nivel
red - Red que hay por debajo del nivel
direccion - Direccion asociada a este nivel
Throws:
java.lang.IllegalArgumentException - si alguno de los parametros no es valido
Method Detail

Procesar

public void Procesar(int instante)
Procesa los paquetes programados para un instante

Specified by:
Procesar in class Nivel
Parameters:
instante - Instante de tiempo

Pendientes

public int Pendientes()
Devuelve el numero de tramas pendientes de ser procesadas

Specified by:
Pendientes in class Nivel
Returns:
Numero de tramas pendientes de ser procesadas

ProcesarSalida

private void ProcesarSalida(int instante)
Envia las tramas de salida que toquen, a la red

Parameters:
instante - Instante de tiempo

ProcesarEntrada

private void ProcesarEntrada(int instante)
Envia las tramas de entrada que toquen, al nivel superior (p. ej: nivelIPv4)

Parameters:
instante - Instante de tiempo

EsParaMi

private boolean EsParaMi(DireccionEthernet destino)
Comprueba si la trama va dirigia a este nivel o no

Parameters:
destino - Direccion de destino de la trama
Returns:
Cierto si la trama va dirigida a este nivel

ID

public java.lang.String ID()
Devuelve el identificador del nivel

Specified by:
ID in class Nivel
Returns:
Identificador del nivel

ComprobarEntrada

public boolean ComprobarEntrada(Dato dato)
Comprueba que el dato de entrada es correcto

Specified by:
ComprobarEntrada in class Nivel
Parameters:
dato - Dato que se quiere comprobar
Returns:
Cierto si el dato es correcto

ComprobarSalida

public boolean ComprobarSalida(Dato dato)
Comprueba si el dato de salida es correcto

Specified by:
ComprobarSalida in class Nivel
Parameters:
dato - Dato que se quiere comprobar
Returns:
Cierto si es correcto