Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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;
                }
            }
        }