public override long ReadLong()
{
int intTag = Read();
switch (intTag)
{
case PROT_BOOLEAN_TRUE: return 1;
case PROT_BOOLEAN_FALSE: return 0;
case PROT_INTEGER_TYPE: return ParseInt();
case PROT_LONG_TYPE: return ParseLong();
case PROT_DOUBLE_TYPE: return (long) ParseDouble();
default:
throw new CHessianException("expected an long but recieved " + intTag);
}
}