private bool InstallSnapshot(ClusterOperationContext context, CancellationToken token) { var txw = context.Transaction.InnerTransaction; var fileName = $"snapshot.{Guid.NewGuid():N}"; var filePath = context.Environment.Options.DataPager.Options.TempPath.Combine(fileName); using (var temp = new StreamsTempFile(filePath.FullPath, context.Environment)) using (var stream = temp.StartNewStream()) using (var remoteReader = _connection.CreateReaderToStream(stream)) { if (ReadSnapshot(remoteReader, context, txw, dryRun: true, token) == false) { return(false); } stream.Seek(0, SeekOrigin.Begin); using (var fileReader = new StreamSnapshotReader(stream)) { ReadSnapshot(fileReader, context, txw, dryRun: false, token); } } return(true); }