5.118 LinkValueStamp

LinkValueStamp is an abstract type that denotes information about the last update to a link value of an object. It is a tuple that consists of all the fields in AttributeStamp, plus the following additional fields:

  • timeCreated: The date and time at which the first originating update was made.

  • timeDeleted: The date and time at which the last replicated update was made that deleted the value, or 0 if the value is not currently deleted.

  • timeExpired: The date and time at which the value must be removed from the state of the DC.

Comparisons

Values of LinkValueStamp are partially ordered. Let d be the result of x.dwVersion - y.dwVersion, cast as a 32-bit integer. Then given two stamps x and y, x is said to be greater than y if any of the following is true:

  • x is not null and y is null

  • x.timeCreated > y.timeCreated

  • x.timeCreated = y.timeCreated and d > 0

  • x.timeCreated = y.timeCreated and d = 0 and x.timeChanged > y.timeChanged

  • x.timeCreated = y.timeCreated and d = 0 and x.timeChanged = y.timeChanged and x.uuidOriginating > y.uuidOriginating

Conversions

A value x of type LinkValueStamp can be converted to and from its wire format y of type PROPERTY_META_DATA_EXT by associating the values of fields in x with the values of the like-named fields in y and y.MetaData.

Note The value of timeDeleted does not appear in the wire format. On the wire, the PROPERTY_META_DATA_EXT value always appears as a value of the MetaData field of a REPLVALINF_V1 or REPLVALINF_V3 structure. Given value x of type LinkValueStamp and value z of type REPLVALINF_V1 or REPLVALINF_V3, z.fIsPresent is TRUE if x.timeDeleted is 0 and FALSE if x.timeDeleted is nonzero.

Note  The value of timeExpired does not appear in the REPLVALINF_V1 wire format. In cases where the REPLVALINF_V1 wire format is used, the value of timeExpired is not returned to the caller.