X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Flibs%2Fobjectcache%2FIExpiringStore.php;h=61a4c618cf3afcc9560faff321a88af888ba7ebc;hp=c1edff794dbe6d95d420f563345831274735af71;hb=a38af7ba26579bb3004f673e44d39710887763aa;hpb=787da207a297714551fec2e518d67fbe3e957d60 diff --git a/includes/libs/objectcache/IExpiringStore.php b/includes/libs/objectcache/IExpiringStore.php index c1edff794d..61a4c618cf 100644 --- a/includes/libs/objectcache/IExpiringStore.php +++ b/includes/libs/objectcache/IExpiringStore.php @@ -21,7 +21,7 @@ */ /** - * Generic base class for storage interfaces. + * Generic interface for lightweight expiring object stores. * * Provides convenient TTL constants. * @@ -44,16 +44,19 @@ interface IExpiringStore { const TTL_INDEFINITE = 0; - // Attribute and QoS constants; higher QOS values with the same prefix rank higher... - // Medium attributes constants related to emulation or media type + // Emulation/fallback medium attribute (e.g. SQLBagOStuff) const ATTR_EMULATION = 1; + // Quality of service constants for ATTR_EMULATION (higher means faster) const QOS_EMULATION_SQL = 1; - // Medium attributes constants related to replica consistency - const ATTR_SYNCWRITES = 2; // SYNC_WRITES flag support + + // Replica synchronization/consistency attribute of medium when SYNC_WRITES is used + const ATTR_SYNCWRITES = 2; + // Quality of service constants for ATTR_SYNCWRITES (higher means more consistent) 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;