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

SynchronizeTo() private method

private SynchronizeTo ( string destinationServerUrl, ISignatureRepository localSignatureRepository, ISignatureRepository remoteSignatureRepository, SignatureManifest sourceSignatureManifest, SignatureManifest destinationSignatureManifest ) : Task
destinationServerUrl string
localSignatureRepository ISignatureRepository
remoteSignatureRepository ISignatureRepository
sourceSignatureManifest RavenFS.Client.SignatureManifest
destinationSignatureManifest RavenFS.Client.SignatureManifest
return Task
		private async Task<SynchronizationReport> SynchronizeTo(string destinationServerUrl,
		                                                        ISignatureRepository localSignatureRepository,
		                                                        ISignatureRepository remoteSignatureRepository,
		                                                        SignatureManifest sourceSignatureManifest,
		                                                        SignatureManifest destinationSignatureManifest)
		{
			var seedSignatureInfo = SignatureInfo.Parse(destinationSignatureManifest.Signatures.Last().Name);
			var sourceSignatureInfo = SignatureInfo.Parse(sourceSignatureManifest.Signatures.Last().Name);

			using (var localFile = StorageStream.Reading(Storage, FileName))
			{
				IList<RdcNeed> needList;
				using (var needListGenerator = new NeedListGenerator(remoteSignatureRepository, localSignatureRepository))
				{
					needList = needListGenerator.CreateNeedsList(seedSignatureInfo, sourceSignatureInfo, Cts.Token);
				}

				return await PushByUsingMultipartRequest(destinationServerUrl, localFile, needList);
			}
		}