Raven.Smuggler.SmugglerApi.GetDocuments C# (CSharp) 메소드

GetDocuments() 보호된 메소드

protected GetDocuments ( Etag lastEtag ) : Task>
lastEtag Raven.Abstractions.Util.Etag
리턴 Task>
		protected override Task<IAsyncEnumerator<RavenJObject>> GetDocuments(Etag lastEtag)
		{
			if (Mode == SmugglerMode.Legacy)
			{
				int retries = RetriesCount;
				while (true)
				{
					try
					{
						RavenJArray documents = null;
					    var url = "/docs?pageSize=" + SmugglerOptions.BatchSize + "&etag=" + lastEtag;
					    ShowProgress("GET " + url);
					    var request = CreateRequest(url);
						request.ExecuteRequest(reader => documents = RavenJArray.Load(new JsonTextReader(reader)));

						return new CompletedTask<IAsyncEnumerator<RavenJObject>>(new AsyncEnumeratorBridge<RavenJObject>(documents.Values<RavenJObject>().GetEnumerator()));
					}
					catch (Exception e)
					{
						if (retries-- == 0)
							throw;
						LastRequestErrored = true;
						ShowProgress("Error reading from database, remaining attempts {0}, will retry. Error: {1}", retries, e, RetriesCount);
					}
				}
			}
		    ShowProgress("Streaming documents from " + lastEtag);
			return Commands.StreamDocsAsync(lastEtag);
		}