Raven.Database.Smuggler.DataDumper.GetAttachments C# (CSharp) Method

GetAttachments() private method

private GetAttachments ( int start, Etag etag ) : RavenJArray
start int
etag Etag
return RavenJArray
		private RavenJArray GetAttachments(int start, Etag etag)
		{
			var array = new RavenJArray();
			var attachmentInfos = _database.GetAttachments(start, 128, etag, null, 1024 * 1024 * 10);

			foreach (var attachmentInfo in attachmentInfos)
			{
				var attachment = _database.GetStatic(attachmentInfo.Key);
				if (attachment == null)
					return null;
				var data = attachment.Data;
				attachment.Data = () =>
				{
					var memoryStream = new MemoryStream();
					_database.TransactionalStorage.Batch(accessor => data().CopyTo(memoryStream));
					memoryStream.Position = 0;
					return memoryStream;
				};

				var bytes = attachment.Data().ReadData();
				array.Add(
					new RavenJObject
					{
						{"Data", bytes},
						{"Metadata", attachmentInfo.Metadata},
						{"Key", attachmentInfo.Key},
						{"Etag", new RavenJValue(attachmentInfo.Etag.ToString())}
					});
			}
			return array;
		}