RavenFS.Synchronization.ContentUpdateWorkItem.PushByUsingMultipartRequest C# (CSharp) Method

PushByUsingMultipartRequest() private method

private PushByUsingMultipartRequest ( string destinationServerUrl, Stream sourceFileStream, IList needList ) : Task
destinationServerUrl string
sourceFileStream Stream
needList IList
return Task
		private Task<SynchronizationReport> PushByUsingMultipartRequest(string destinationServerUrl, Stream sourceFileStream,
		                                                                IList<RdcNeed> needList)
		{
			Cts.Token.ThrowIfCancellationRequested();

			multipartRequest = new SynchronizationMultipartRequest(destinationServerUrl, ServerInfo, FileName, FileMetadata,
			                                                       sourceFileStream, needList);

			var bytesToTransferCount = needList.Where(x => x.BlockType == RdcNeedType.Source).Sum(x => (double) x.BlockLength);

			log.Debug(
				"Synchronizing a file '{0}' (ETag {1}) to {2} by using multipart request. Need list length is {3}. Number of bytes that needs to be transfered is {4}",
				FileName, FileETag, destinationServerUrl, needList.Count, bytesToTransferCount);

			return multipartRequest.PushChangesAsync(Cts.Token);
		}