private void Reset() { data.Clear(); currentCmd = null; lastRecord = null; lastField = null; }
private Field FillRecord(IDictionary <Field, string> record, EPICommand data, FieldList fieldList, int offset) { Field lastField = null; string fieldValue; for (int i = offset; i < data.Fields.Length; i++) { if (i < fieldList.Count) { Field f = fieldList[i]; fieldValue = data[i]; record.Add(f, fieldValue); lastField = f; } } return(lastField); }
public List <Record> Read(Queue <EPICommand> cmds) { Reset(); while (cmds.Count > 0) { currentCmd = cmds.Dequeue(); dataContinuation = false; switch (currentCmd.CMDWord) { case CommandWords.Responses.BeginOfData: ReadBeginOfData(); break; case CommandWords.Responses.MetaData: ReadMetaData(); break; case CommandWords.Responses.Data: ReadData(); break; case CommandWords.Responses.DataContinuation: dataContinuation = true; ReadData(); break; case CommandWords.Responses.EndOfData: ReadEndOfData(); break; default: throw new NotSupportedException("command " + currentCmd.CMDWord + " is not supported"); } } return(data); }