objectcache: add IExpiringStore::TTL_SECOND constant
[lhc/web/wiklou.git] / includes / libs / objectcache / IExpiringStore.php
index 62c4fa5..7bab20a 100644 (file)
@@ -30,6 +30,7 @@
  */
 interface IExpiringStore {
        // Constants for TTL values, in seconds
+       const TTL_SECOND = 1;
        const TTL_MINUTE = 60;
        const TTL_HOUR = 3600;
        const TTL_DAY = 86400; // 24 * 3600
@@ -47,6 +48,12 @@ interface IExpiringStore {
        // Medium attributes constants related to emulation or media type
        const ATTR_EMULATION = 1;
        const QOS_EMULATION_SQL = 1;
+       // Medium attributes constants related to replica consistency
+       const ATTR_SYNCWRITES = 2; // SYNC_WRITES flag support
+       const QOS_SYNCWRITES_NONE = 1; // replication only supports eventual consistency or less
+       const QOS_SYNCWRITES_BE = 2; // best effort synchronous with limited retries
+       const QOS_SYNCWRITES_QC = 3; // write quorum applied directly to state machines where R+W > N
+       const QOS_SYNCWRITES_SS = 4; // strict-serializable, nodes refuse reads if possible stale
        // Generic "unknown" value that is useful for comparisons (e.g. always good enough)
        const QOS_UNKNOWN = INF;
 }