void Next() { if (!SpaceIsValid()) { throw new Error(ErrorCode.INVALID_POS); } if (!io.Read()) { throw new Error(ErrorCode.IO_READ); } MoveSpaceCursor(); }
public static void ReadPrefix(this MsgPackReader reader, TypePrefixes prefix) { if (!reader.Read() || reader.Type != prefix) { throw new InvalidOperationException(Resources.ParseError); } }
public static double ReadDouble(this MsgPackReader reader) { if (!reader.Read() || !(reader.Type == TypePrefixes.Double || reader.Type == TypePrefixes.PositiveFixNum)) { throw new InvalidOperationException(Resources.ParseError); } return(reader.ValueDouble); }
public static int ReadSigned(this MsgPackReader reader) { if (!reader.Read() || !(reader.Type == TypePrefixes.PositiveFixNum || reader.Type == TypePrefixes.NegativeFixNum || reader.Type == TypePrefixes.UInt16)) { throw new InvalidOperationException(Resources.ParseError); } return(reader.ValueSigned); }
public static PupilDataFrame FromStream(Stream stream) { var reader = new MsgPackReader(stream); var frame = new PupilDataFrame(); reader.ReadPrefix(TypePrefixes.Map16); while (reader.Read() && reader.Type == TypePrefixes.FixRaw) { var key = reader.ReadRawString(); Action <MsgPackReader, PupilDataFrame> setter; if (ParserMap.TryGetValue(key, out setter)) { setter(reader, frame); } } return(frame); }