/// <summary> /// Adds metadata to output, and returns the metadataset ID /// </summary> /// <returns>The metadataset ID.</returns> /// <param name="path">The path for which metadata is processed.</param> /// <param name="meta">The metadata entry.</param> /// <param name="database">The database connection.</param> /// <param name="streamblockchannel">The channel to write streams to.</param> internal static async Task <Tuple <bool, long> > AddMetadataToOutputAsync(string path, IMetahash meta, BackupDatabase database, IWriteChannel <StreamBlock> streamblockchannel) { StreamProcessResult res; using (var ms = new MemoryStream(meta.Blob)) res = await StreamBlock.ProcessStream(streamblockchannel, path, ms, true, CompressionHint.Default); return(await database.AddMetadatasetAsync(res.Streamhash, res.Streamlength, res.Blocksetid)); }