public void OnNext(ByteString value) { buffer += value.DecodeString(); while (true) { int delimiterIdx = FindDelimiter(); if (delimiterIdx != -1) { CtiEvent outputEvent = eventParser.Parse(buffer); observer.OnNext(outputEvent); CleanUpBuffer(delimiterIdx + 4); } else { break; } } }
public void OnNext(ByteString value) { buffer += value.DecodeString(); while (true) { int lastIndex; if (TryGetLastIndexOfEvent(out lastIndex)) { string inputEvent = buffer.Substring(0, lastIndex); CtiEvent outputEvent = eventParser.Parse(inputEvent); observer.OnNext(outputEvent); CleanUpBuffer(lastIndex); } else { break; } } }