aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Data/SynchronouseMode.cs
blob: cde524e2e001b7942a3c3f5f70a7953dee7f1f68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace Emby.Server.Implementations.Data;

/// <summary>
/// The disk synchronization mode, controls how aggressively SQLite will write data
/// all the way out to physical storage.
/// </summary>
public enum SynchronousMode
{
    /// <summary>
    /// SQLite continues without syncing as soon as it has handed data off to the operating system.
    /// </summary>
    Off = 0,

    /// <summary>
    /// SQLite database engine will still sync at the most critical moments.
    /// </summary>
    Normal = 1,

    /// <summary>
    /// SQLite database engine will use the xSync method of the VFS
    /// to ensure that all content is safely written to the disk surface prior to continuing.
    /// </summary>
    Full = 2,

    /// <summary>
    /// EXTRA synchronous is like FULL with the addition that the directory containing a rollback journal
    /// is synced after that journal is unlinked to commit a transaction in DELETE mode.
    /// </summary>
    Extra = 3
}