public override int decode(InStream @in)
{
// TODO - well shit, how do we know how many bytes to read generically?
int len = 1;
int b = @in.r();
if (b < 0) return -1;
bbuf[0] = (byte)b;
cbuf = charset.m_encoding.GetChars(bbuf, 0, len);
return cbuf[0];
}