MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / registerKeysForActiveExpiration

Method registerKeysForActiveExpiration

tx.go:908–932  ·  view source on GitHub ↗

registerKeysForActiveExpiration registers keys with TTL in the timing wheel for active expiration.

(records []*core.Record, entries []*core.Entry)

Source from the content-addressed store, hash-verified

906
907// registerKeysForActiveExpiration registers keys with TTL in the timing wheel for active expiration.
908func (tx *Tx) registerKeysForActiveExpiration(records []*core.Record, entries []*core.Entry) {
909 if tx.db.ttlService == nil {
910 return
911 }
912
913 for i, entry := range entries {
914 meta := entry.Meta
915
916 if meta.TTL > 0 && meta.Flag != DataDeleteFlag {
917 record := records[i]
918
919 if tx.db.ttlService.IsExpired(record.TTL, record.Timestamp) {
920 continue
921 }
922
923 tx.db.ttlService.RegisterKeyForActiveExpiration(
924 meta.BucketId,
925 entry.Key,
926 meta.Ds,
927 meta.TTL,
928 meta.Timestamp,
929 )
930 }
931 }
932}

Callers 1

CommitMethod · 0.95

Calls 2

IsExpiredMethod · 0.45

Tested by

no test coverage detected