Redes
Class Buffer

java.lang.Object
  extended byRedes.Buffer
Direct Known Subclasses:
DatagramaIPv4, MensajeICMP, PaqueteARP, TramaEthernet, TramaPuntoAPunto

public class Buffer
extends java.lang.Object

Clase base para todos los tipos de paquetes de datos


Field Summary
(package private)  int[] Datos
          Buffer que contiene todos los bytes del buffer.
(package private)  int longitud
          Longitud en bytes del buffer
 
Constructor Summary
Buffer()
          Crea un Buffer, contenedor de otros Buffers (solo usar en clases derivadas)
Buffer(Buffer datos)
          Constructor de copia
Buffer(int tam)
          Constructor
Buffer(java.lang.String cadena)
          Constructor
 
Method Summary
 java.lang.String Contenido()
          Devuelve una cadena de texto informativa sobre buffer
 int getBit(int numByte, int numBit)
          Devuelve un bit del byte que se indique
 int getByte(int numByte)
          Recupera un byte del buffer
 int getByteH(int numByte)
          Devuelve la parte alta del byte especificado
 int getByteL(int numByte)
          Devuelve la parte baja del byte especificado
protected  char imprimible(int i)
          Devuelve el equivalente imprimible del entero
 void Redimensiona(int tam)
          Cambia el tamaņo del buffer de datos
 void setBit(int numByte, int numBit, int valor)
          Pone un valor en el bit del byte especificado
 void setByte(int numByte, int valor)
          Pone un determinado valor en un byte del buffer
 void setByteH(int numByte, int valor)
          Pone un valor en la parte alta (bits 4567) del byte especificado
 void setByteL(int numByte, int valor)
          Pone un valor en la parte baja del byte especificado
 int Tam()
          Devuelve el tamaņo del buffer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Datos

int[] Datos
Buffer que contiene todos los bytes del buffer. Los bytes se numeran 0123456789, y los bits dentro de un byte 76543210


longitud

int longitud
Longitud en bytes del buffer

Constructor Detail

Buffer

public Buffer(int tam)
Constructor

Parameters:
tam - Tamaņo inicial del buffer
Throws:
java.lang.IllegalArgumentException - si el tamaņo indicado no es valido

Buffer

public Buffer(java.lang.String cadena)
Constructor

Parameters:
cadena - Datos del paquete
Throws:
java.lang.IllegalArgumentException - si la cadena de texto no es valida

Buffer

public Buffer(Buffer datos)
Constructor de copia

Parameters:
datos - Datos contenidos en el paquete
Throws:
java.lang.IllegalArgumentException - si el buffer de datos no es valido

Buffer

public Buffer()
Crea un Buffer, contenedor de otros Buffers (solo usar en clases derivadas)

Method Detail

Redimensiona

public void Redimensiona(int tam)
Cambia el tamaņo del buffer de datos

Parameters:
tam - Nuevo tamaņo del buffer
Throws:
java.lang.IllegalArgumentException - si el tamaņo no es valido

Tam

public int Tam()
Devuelve el tamaņo del buffer

Returns:
tamaņo del buffer en bytes

setByte

public void setByte(int numByte,
                    int valor)
Pone un determinado valor en un byte del buffer

Parameters:
numByte - posicion del byte dentro del buffer
valor - nuevo valor
Throws:
java.lang.IllegalArgumentException - si los valores de los parametros no son validos

setByteH

public void setByteH(int numByte,
                     int valor)
Pone un valor en la parte alta (bits 4567) del byte especificado

Parameters:
numByte - posicion del byte dentro del buffer
valor - nuevo valor (4 bits)
Throws:
java.lang.IllegalArgumentException - si alguno de los parametros tiene valor incorrecto

setByteL

public void setByteL(int numByte,
                     int valor)
Pone un valor en la parte baja del byte especificado

Parameters:
numByte - posicion del byte dentro del buffer
valor - nuevo valor (4 bits)
Throws:
java.lang.IllegalArgumentException - si alguno de los paramentro tiene valor incorrecto

setBit

public void setBit(int numByte,
                   int numBit,
                   int valor)
Pone un valor en el bit del byte especificado

Parameters:
numByte - posicion del byte dentro del buffer
numBit - bit del byte a modificar
valor - nuevo valor (4 bits)
Throws:
java.lang.IllegalArgumentException - si los valores que se pasan no son validos

getByte

public int getByte(int numByte)
Recupera un byte del buffer

Parameters:
numByte - posicion del byte a recuperar
Returns:
Valor del byte solicitado
Throws:
java.lang.IllegalArgumentException - si la posicion del byte indicado no es valida

getByteH

public int getByteH(int numByte)
Devuelve la parte alta del byte especificado

Parameters:
numByte - Posicion del byte
Returns:
Parte alta del byte indicado
Throws:
java.lang.IllegalArgumentException - si el byte indicado no existe

getBit

public int getBit(int numByte,
                  int numBit)
Devuelve un bit del byte que se indique

Parameters:
numByte - Posicion que ocupa el byte
numBit - posicion del Bit (01234567)
Returns:
Valor del bit (0 o 1)
Throws:
java.lang.IllegalArgumentException - si el byte especificado no existe

getByteL

public int getByteL(int numByte)
Devuelve la parte baja del byte especificado

Parameters:
numByte - Posicion del byte
Returns:
Parte baja del byte
Throws:
java.lang.IllegalArgumentException - si el byte indicado no existe

Contenido

public java.lang.String Contenido()
Devuelve una cadena de texto informativa sobre buffer

Returns:
Cadena de texto con el contenido buffer

imprimible

protected char imprimible(int i)
Devuelve el equivalente imprimible del entero

Parameters:
i - entero (valor de 0 a 255)
Returns:
caracter imprimible equivalente