public ValueInfo ReadValueInfo(byte formatByte, Stream stream) { if ((formatByte & 0xf0) == 0x80) { return(ValueInfo.ForChildContainer(0, (formatByte & 0x0f) * 2)); } int headerSize; switch (formatByte) { case 0xde: headerSize = 2; break; case 0xdf: headerSize = 4; break; default: throw Exceptions.FormatByteNotSupported(formatByte); } var childCount = NumericParser.ReadInt32(stream, headerSize) * 2; return(ValueInfo.ForChildContainer(headerSize, childCount)); }
private ValueInfo GetValueInfo(Stream stream, int headerSize) { var bytes = NumericParser.ReadInt32(stream, headerSize); return(ValueInfo.ForContent(headerSize, bytes)); }
private ValueInfo ReadVariableValueInfo(Stream stream, int contentHeaderSize) { var contentSize = NumericParser.ReadInt32(stream, contentHeaderSize); return(ReadExtendedType(stream, contentHeaderSize, contentSize)); }