in src/Utility/SseUpdateCollection.cs [119:155]
public bool MoveNext()
{
if (_events is null && _started)
{
throw new ObjectDisposedException(typeof(U).Name);
}
_cancellationToken.ThrowIfCancellationRequested();
_events ??= CreateEventEnumerator();
_started = true;
if (_updates is not null && _updates.MoveNext())
{
_current = _updates.Current;
return true;
}
if (_events.MoveNext())
{
if (_events.Current.Data.AsSpan().SequenceEqual(TerminalData))
{
_current = default;
return false;
}
_updates = _eventDeserializerFunc.Invoke(_events.Current).GetEnumerator();
if (_updates.MoveNext())
{
_current = _updates.Current;
return true;
}
}
_current = default;
return false;
}