Example #1
0
        private void RemoveExpired(WriteTransaction txn, TableKey tableKey, Timestamp keyExpiry)
        {
            //_expirationQueue(txn, _kvTable, key, keyExpiry);
            var currentClock = _currentClock();
            var metadata     = new KvMetadata
            {
                Status         = Expired,
                Expiry         = keyExpiry,
                Action         = Updated,
                Originated     = currentClock,
                LocallyUpdated = currentClock
            };

            txn.Delete(_kvTable, tableKey); // TODO: Check and fail on not successful return codes
            _metadataTable.AddOrUpdate(txn, tableKey, metadata);
            // _kvUpdateHandler(txn, ToDeleteLogEvent(key, metadata)); // TODO: Add EXPIRY-s to the replication log?
        }
Example #2
0
 public void Erase(WriteTransaction txn, KvKey key) => txn.Delete(_table, ToTableKey(key));