public async ValueTask<bool> MoveNextAsync() { AssertInitialized(); CheckIfContextOrCacheNeedToBeRenewed(); if (_timeSeriesIt != null) await _timeSeriesIt.DisposeAsync().ConfigureAwait(false); if (await UnmanagedJsonParserHelper.ReadAsync(_peepingTomStream, _parser, _state, _buffer, _token).ConfigureAwait(false) == false) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); if (_state.CurrentTokenType == JsonParserToken.EndArray) { if (await UnmanagedJsonParserHelper.ReadAsync(_peepingTomStream, _parser, _state, _buffer, _token).ConfigureAwait(false) == false) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); if (_state.CurrentTokenType != JsonParserToken.EndObject) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); return false; } _builder.Renew("readArray/singleResult", BlittableJsonDocumentBuilder.UsageMode.ToDisk); if (_isTimeSeriesStream) await UnmanagedJsonParserHelper.ReadPropertyAsync(_builder, _peepingTomStream, _parser, _buffer, _token).ConfigureAwait(false); else await UnmanagedJsonParserHelper.ReadObjectAsync(_builder, _peepingTomStream, _parser, _buffer, _token).ConfigureAwait(false); Current = _builder.CreateReader(); _builder.Reset(); if (_isTimeSeriesStream) { _timeSeriesIt = new TimeSeriesStreamEnumerator(_builderContext, _peepingTomStream, _parser, _state, _buffer); await _timeSeriesIt.InitializeAsync().ConfigureAwait(false); } return true; }
public bool MoveNext() { AssertInitialized(); CheckIfContextOrCacheNeedToBeRenewed(); _timeSeriesIt?.Dispose(); if (UnmanagedJsonParserHelper.Read(_peepingTomStream, _parser, _state, _buffer) == false) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); if (_state.CurrentTokenType == JsonParserToken.EndArray) { if (UnmanagedJsonParserHelper.Read(_peepingTomStream, _parser, _state, _buffer) == false) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); if (_state.CurrentTokenType != JsonParserToken.EndObject) UnmanagedJsonParserHelper.ThrowInvalidJson(_peepingTomStream); return false; } _builder.Renew("readArray/singleResult", BlittableJsonDocumentBuilder.UsageMode.ToDisk); if (_isTimeSeriesStream) UnmanagedJsonParserHelper.ReadProperty(_builder, _peepingTomStream, _parser, _buffer); else UnmanagedJsonParserHelper.ReadObject(_builder, _peepingTomStream, _parser, _buffer); Current = _builder.CreateReader(); _builder.Reset(); if (_isTimeSeriesStream) { _timeSeriesIt = new TimeSeriesStreamEnumerator(_builderContext, _peepingTomStream, _parser, _state, _buffer); _timeSeriesIt.Initialize(); } return true; }