package org.rzo.netty.ahessian.io;
import java.io.IOException;
public class CRCInputStream extends InputStreamBuffer
{
byte _crc = 0;
public void resetCRC()
{
_crc = 0;
}
public byte getCRC()
{
byte result = _crc;
resetCRC();
return result;
}
@Override
public int read() throws IOException
{
int result = super.read();
_crc ^= (byte)result;
return result;
}
@Override
public int read(byte[] b, int off, int len) throws IOException
{
int result = super.read(b, off, len);
for (int i=off; i<off+result; i++)
{
_crc ^= (byte)b[i];
}
return result;
}
}