ForgottenKnowledge Class

Represents knowledge that has been forgotten because of tombstone cleanup.

Inheritance Hierarchy

System.Object
  Microsoft.Synchronization.SyncKnowledge
    Microsoft.Synchronization.ForgottenKnowledge

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization (in Microsoft.Synchronization.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public Class ForgottenKnowledge _
    Inherits SyncKnowledge _
    Implements ISerializable
'Usage
Dim instance As ForgottenKnowledge
[SerializableAttribute]
public class ForgottenKnowledge : SyncKnowledge, 
    ISerializable
[SerializableAttribute]
public ref class ForgottenKnowledge : public SyncKnowledge, 
    ISerializable
[<SerializableAttribute>]
type ForgottenKnowledge =  
    class
        inherit SyncKnowledge
        interface ISerializable
    end
public class ForgottenKnowledge extends SyncKnowledge implements ISerializable

The ForgottenKnowledge type exposes the following members.

Constructors

  Name Description
Public method ForgottenKnowledge() Initializes a new instance of the ForgottenKnowledge class.
Protected method ForgottenKnowledge(SerializationInfo, StreamingContext) Initializes a new instance of the ForgottenKnowledge class by using serialized data.
Public method ForgottenKnowledge(SyncIdFormatGroup, SyncKnowledge) Initializes a new instance of the ForgottenKnowledge class that contains the specified ID format schema and synchronization knowledge.

Top

Properties

  Name Description
Public property CompatibilityLevel Gets or sets the version of Sync Framework components that can be used with this object. (Inherited from SyncKnowledge.)
Public property MinimumCompatibilityLevel Gets the minimum version of Sync Framework components that can be used with this object. (Inherited from SyncKnowledge.)
Public property ReplicaId Gets the ID of the replica that owns this knowledge. (Inherited from SyncKnowledge.)
Public property ReplicaKeyMap Gets the replica key map that is associated with this knowledge. (Inherited from SyncKnowledge.)

Top

Methods

  Name Description
Public method AddMarker Marks the specified item with the specified marker type. (Inherited from SyncKnowledge.)
Public method Clone Creates a new ForgottenKnowledge object and copies the forgotten knowledge into it. (Overrides SyncKnowledge.Clone().)
Public method Combine Combines the specified knowledge with the current knowledge. (Inherited from SyncKnowledge.)
Public method Compare Performs a fast comparison between the specified knowledge cookie and this knowledge object. (Inherited from SyncKnowledge.)
Public method Complement Returns the knowledge that is contained in this object, but that is not contained in the specified knowledge. (Inherited from SyncKnowledge.)
Public method Contains(ChangeUnitChange) Indicates whether the specified change unit change is known by this knowledge. (Inherited from SyncKnowledge.)
Public method Contains(ItemChange) Indicates whether the specified item change is known by this knowledge. (Inherited from SyncKnowledge.)
Public method Contains(SyncKnowledge) Indicates whether the specified knowledge is known by this knowledge. (Inherited from SyncKnowledge.)
Public method Contains(SyncId, SyncId, SyncVersion) Indicates whether the specified item change is known by this knowledge. (Inherited from SyncKnowledge.)
Public method Contains(SyncId, SyncId, SyncId, SyncVersion) Indicates whether the specified change unit change is known by this knowledge. (Inherited from SyncKnowledge.)
Public method ContainsMarker Indicates whether the specified item is marked with the specified marker type. (Inherited from SyncKnowledge.)
Public methodStatic member Deserialize Deserializes a forgotten knowledge instance from the specified byte array.
Public method Equals (Inherited from Object.)
Public method ExcludeChangeUnit Removes knowledge about the specified change unit from the knowledge. (Inherited from SyncKnowledge.)
Public method ExcludeItem Removes knowledge about the specified item from the knowledge. (Inherited from SyncKnowledge.)
Protected method Finalize (Inherited from Object.)
Public method FindMinTickCountForReplica Finds the minimum tick count in the knowledge for the specified replica. (Inherited from SyncKnowledge.)
Public method ForgetTo Updates the forgotten knowledge to reflect that all versions less than or equal to the specified version might have been forgotten, and that corresponding tombstones might have been deleted.
Public method GetHashCode (Inherited from Object.)
Public method GetKnowledgeCookie Gets a lightweight, read-only representation of this knowledge object that can be used for fast comparisons. (Inherited from SyncKnowledge.)
Public method GetKnowledgeForChangeUnit Gets the knowledge for the specified change unit. (Inherited from SyncKnowledge.)
Public method GetKnowledgeForColumns Returns the knowledge for the specified set of change units for all the items that are contained in this object. (Inherited from SyncKnowledge.)
Public method GetKnowledgeForItem Gets the knowledge for the specified item. (Inherited from SyncKnowledge.)
Public method GetKnowledgeForRange Gets the knowledge for the specified range of item IDs. (Inherited from SyncKnowledge.)
Public method GetObjectData Serializes the forgotten knowledge to the specified SerializationInfo object. (Overrides SyncKnowledge.GetObjectData(SerializationInfo, StreamingContext).)
Public method GetSchema Returns a null reference (Nothing in Visual Basic). (Inherited from SyncKnowledge.)
Public method GetSyncIdFormatGroup Gets the ID format schema of the IDs that are stored in this knowledge object. (Inherited from SyncKnowledge.)
Public method GetType (Inherited from Object.)
Public method Intersects Indicates whether the specified knowledge intersects with this knowledge. (Inherited from SyncKnowledge.)
Public method MapRemoteKnowledgeToLocal Converts a knowledge object from another replica into one that is compatible with the replica that owns this knowledge. (Inherited from SyncKnowledge.)
Protected method MemberwiseClone (Inherited from Object.)
Public method ReadXml Reconstitutes the object from its XML representation. (Inherited from SyncKnowledge.)
Public method RemoveAllChangeUnitsMarkers Removes all markers for items in the knowledge. (Inherited from SyncKnowledge.)
Public method RemoveMarker Removes a marker of the specified type from the specified item. (Inherited from SyncKnowledge.)
Public method Serialize() Serializes the knowledge object data to a byte array. (Inherited from SyncKnowledge.)
Public method Serialize(Boolean) Serializes the knowledge object data to a byte array. (Inherited from SyncKnowledge.)
Public method SetLocalTickCount Sets the tick count for the replica that owns this knowledge. (Inherited from SyncKnowledge.)
Public method ToString Gets a string that represents the knowledge. (Inherited from SyncKnowledge.)
Public method WriteXml Converts this object into its XML representation. (Inherited from SyncKnowledge.)

Top

Remarks

The forgotten knowledge tracks the maximum version of tombstones that have been cleaned up. When an item is deleted from the item store, the metadata for that item is kept, but the item is marked as deleted. Metadata for a deleted item is called a tombstone. Tombstones must be periodically cleaned up or they will eventually use too much space in the item store. When a tombstone is removed from the metadata, the forgotten knowledge must be updated to contain the version of the removed tombstone. Be aware that forgotten knowledge is an overestimation of which items have had their metadata removed. Therefore, the forgotten knowledge might also contain items that still have active entries in the metadata.

Sync Framework uses the forgotten knowledge to detect an out-of-date synchronization destination. For more information, see Managing Tombstones and Recovering an Out-of-Date Replica.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.Synchronization Namespace