Rewrote the backup and restore to work within a transaction as that speeds things up a lot. Rewrote the backup procedure to generate the file list from the database, instead of on-the-fly as that is more efficient. Re-arranged the database to use less storage on large sets of unchanged files.
95 lines
2.3 KiB
C#
95 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Duplicati.Library.Main.ForestHash
|
|
{
|
|
/// <summary>
|
|
/// Describes all states a remote volume can have
|
|
/// </summary>
|
|
public enum RemoteVolumeState
|
|
{
|
|
/// <summary>
|
|
/// Indicates that the remote volume is being created
|
|
/// </summary>
|
|
Temporary,
|
|
|
|
/// <summary>
|
|
/// Indicates that the remote volume is being uploaded
|
|
/// </summary>
|
|
Uploading,
|
|
|
|
/// <summary>
|
|
/// Indicates that the remote volume has been uploaded
|
|
/// </summary>
|
|
Uploaded,
|
|
|
|
/// <summary>
|
|
/// Indicates that the remote volume has been uploaded,
|
|
/// and seen by a list operation
|
|
/// </summary>
|
|
Verified,
|
|
|
|
/// <summary>
|
|
/// Indicates that the remote volume has been uploaded,
|
|
/// but is now missing from the remote location
|
|
/// </summary>
|
|
Missing,
|
|
|
|
/// <summary>
|
|
/// Indicattes that the remote volume should be deleted
|
|
/// </summary>
|
|
Deleting,
|
|
|
|
/// <summary>
|
|
/// Indicates that the remote volume was successfully
|
|
/// deleted from the remote location
|
|
/// </summary>
|
|
Deleted
|
|
}
|
|
|
|
/// <summary>
|
|
/// Describes the known remote volume types
|
|
/// </summary>
|
|
public enum RemoteVolumeType
|
|
{
|
|
/// <summary>
|
|
/// Contains data blocks
|
|
/// </summary>
|
|
Blocks,
|
|
/// <summary>
|
|
/// Contains file lists
|
|
/// </summary>
|
|
Files,
|
|
/// <summary>
|
|
/// Contains redundant lookup information
|
|
/// </summary>
|
|
Shadow
|
|
}
|
|
|
|
public enum FilelistEntryType
|
|
{
|
|
/// <summary>
|
|
/// The actual type of the entry could not be determined
|
|
/// </summary>
|
|
Unknown,
|
|
/// <summary>
|
|
/// The entry is a plain file
|
|
/// </summary>
|
|
File,
|
|
/// <summary>
|
|
/// The entry is a folder
|
|
/// </summary>
|
|
Folder,
|
|
/// <summary>
|
|
/// The entry is an alternate data stream, or resource/data fork
|
|
/// </summary>
|
|
AlternateStream,
|
|
/// <summary>
|
|
/// The entry is a symbolic link
|
|
/// </summary>
|
|
Symlink
|
|
}
|
|
}
|