Redes.IPv4.ARP
Class ModuloARP

java.lang.Object
  extended byRedes.Nivel
      extended byRedes.IPv4.ARP.ModuloARP

public class ModuloARP
extends Nivel

Módulo ARP


Field Summary
 CacheARP cacheARP
          Cache ARP, facilmente accesible por otros modulos como el IPv4
 
Fields inherited from class Redes.Nivel
colaEntrada, colaSalida, equipo, parametros
 
Constructor Summary
ModuloARP(Equipo equipo)
          Constructor
 
Method Summary
 boolean ComprobarEntrada(Dato dato)
          Comprueba que todos los datos necesarios para que el modulo ARP funcione correctamente estan especificados (para entradas).
 boolean ComprobarSalida(Dato dato)
          Comprueba que todos los datos necesarios para que el modulo ARP funcione correctamente estan especificados (para salidas).
 java.lang.String ID()
          Devuelve el identificador del nivel
 int Pendientes()
          Devuelve el numero de paquetes ARP pendientes de ser procesados
private  void ProcesaPeticionARP(int instante, PaqueteARP peticion, Interfaz interfaz)
          Procesa una peticion ARP
 void Procesar(int instante)
          Procesa las respuestas ARP que llegan
private  void ProcesarEntradas(int instante)
          Procesa las respuestas ARP que llegan.
private  void ProcesaRespuestaARP(PaqueteARP respuesta)
          Insertamos la informacion de la respuesta ARP en la cache ARP
private  void ProcesarSalidas(int instante)
          Procesa una peticion ARP de salida
 
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

cacheARP

public CacheARP cacheARP
Cache ARP, facilmente accesible por otros modulos como el IPv4

Constructor Detail

ModuloARP

public ModuloARP(Equipo equipo)
Constructor

Parameters:
equipo - Equipo poseedor de este modulo
Method Detail

Procesar

public void Procesar(int instante)
Procesa las respuestas ARP que llegan

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

Pendientes

public int Pendientes()
Devuelve el numero de paquetes ARP pendientes de ser procesados

Specified by:
Pendientes in class Nivel
Returns:
Numero de paquetes ARP pendientes de ser procesados

ProcesarEntradas

private void ProcesarEntradas(int instante)
Procesa las respuestas ARP que llegan. Este metodo se define por seguir la estructura de metodos de los demas niveles (un metodo para procesar salidas, y otro metodo para procesar las entradas)

Parameters:
instante - Instante de tiempo

ProcesaPeticionARP

private void ProcesaPeticionARP(int instante,
                                PaqueteARP peticion,
                                Interfaz interfaz)
Procesa una peticion ARP

Parameters:
instante - Instante de tiempo
peticion - Peticion ARP
interfaz - Interfaz por la que llego la peticion ARP

ProcesaRespuestaARP

private void ProcesaRespuestaARP(PaqueteARP respuesta)
Insertamos la informacion de la respuesta ARP en la cache ARP

Parameters:
respuesta - Respuesta ARP

ProcesarSalidas

private void ProcesarSalidas(int instante)
Procesa una peticion ARP de salida

Parameters:
instante - Intente de tiempo

ID

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

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

ComprobarSalida

public boolean ComprobarSalida(Dato dato)
Comprueba que todos los datos necesarios para que el modulo ARP funcione correctamente estan especificados (para salidas). Estos datos son: paquete: Un PaqueteARP, PeticionARP o RespuestaARP instante: Un entero mayor o igual que 0 interfaz: Interfaz por la que se enviara el paquete ARP

Specified by:
ComprobarSalida in class Nivel
Parameters:
dato - Dato
Returns:
Cierto si el dato es correcto

ComprobarEntrada

public boolean ComprobarEntrada(Dato dato)
Comprueba que todos los datos necesarios para que el modulo ARP funcione correctamente estan especificados (para entradas). Estos datos son: paquete: Un PaqueteARP, PeticionARP o RespuestaARP instante: Un entero mayor o igual que 0

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