Redes.IPv4.ICMP
Class ModuloICMP

java.lang.Object
  extended byRedes.Nivel
      extended byRedes.IPv4.ICMP.ModuloICMP

public class ModuloICMP
extends Nivel

Módulo ICMP


Field Summary
 
Fields inherited from class Redes.Nivel
colaEntrada, colaSalida, equipo, parametros
 
Constructor Summary
ModuloICMP(Equipo equipo)
          Constructor
 
Method Summary
 boolean ComprobarEntrada(Dato dato)
          Comprueba que el dato de entrada sea correcto
 boolean ComprobarSalida(Dato dato)
          Comprueba que el dato de salida sea correcto
 java.lang.String ID()
          Devuelve el identificador del modulo
static int IDenIP()
          Devuelve el identificador que usa IP para referirse a ICMP
 int Pendientes()
          Devuelve el numero de mensajes pendientes de ser procesados
private  boolean ProcedeEnvio(MensajeICMP mensaje)
          Comprueba si es correcto el envio del mensaje ICMP
private  void ProcesaMensaje(int instante, MensajeICMP mensajeICMP, Direccion destino)
          Procesa un mensaje ICMP
 void Procesar(int instante)
          Procesa los mensajes ICMP programados para el instante indicado
private  void ProcesarEntrada(int instante)
          Procesa los mensajes de un determinado instante de tiempo
private  void ProcesarSalida(int instante)
          Procesa los mensajes de la cola de salida (envios)
 
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
 

Constructor Detail

ModuloICMP

public ModuloICMP(Equipo equipo)
Constructor

Parameters:
equipo - Equipo propietario de este modulo
Method Detail

Procesar

public void Procesar(int instante)
Procesa los mensajes ICMP programados para el instante indicado

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

Pendientes

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

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

ID

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

Specified by:
ID in class Nivel
Returns:
Identificador unico del modulo

ProcesarSalida

private void ProcesarSalida(int instante)
Procesa los mensajes de la cola de salida (envios)

Parameters:
instante - Instante de tiempo

ProcesarEntrada

private void ProcesarEntrada(int instante)
Procesa los mensajes de un determinado instante de tiempo

Parameters:
instante - Instante de tiempo

ProcesaMensaje

private void ProcesaMensaje(int instante,
                            MensajeICMP mensajeICMP,
                            Direccion destino)
Procesa un mensaje ICMP

Parameters:
instante - Instante de tiempo en el que se procesa el mensaje
mensajeICMP - MensajeICMP que va a ser procesado
destino - Direccion del equipo que genero el mensaje

ComprobarEntrada

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

Specified by:
ComprobarEntrada in class Nivel
Parameters:
dato - Dato a comprobar
Returns:
Cierto si el dato es correcto, falso en otro caso

ComprobarSalida

public boolean ComprobarSalida(Dato dato)
Comprueba que el dato de salida sea correcto

Specified by:
ComprobarSalida in class Nivel
Parameters:
dato - Dato a comprobar
Returns:
Cierto, si el dato es correcto, falso, en otro caso

ProcedeEnvio

private boolean ProcedeEnvio(MensajeICMP mensaje)
Comprueba si es correcto el envio del mensaje ICMP

Parameters:
mensaje - Mensaje ICMP a enviar
Returns:
Cierto, si se debe enviar el mensaje, falso en otro caso

IDenIP

public static int IDenIP()
Devuelve el identificador que usa IP para referirse a ICMP

Returns:
Identificador de ICMP en en modulo IP