public override string ReadString()
{
int intTag = Read();
switch (intTag)
{
case PROT_NULL:
return null;
case PROT_INTEGER_TYPE:
return ParseInt().ToString();
case PROT_LONG_TYPE:
return ParseLong().ToString();
case PROT_DOUBLE_TYPE:
return ParseDouble().ToString();
case PROT_STRING_FINAL:
case PROT_STRING_INITIAL:
case PROT_XML_FINAL:
case PROT_XML_INITIAL:
m_blnIsLastChunk = intTag == PROT_STRING_FINAL || intTag == PROT_XML_FINAL;
m_intChunkLength = (Read() << 8) + Read();
return LoadString();
default:
throw new CHessianException("expected an string but recieved " + intTag);
}
}