Class LinksUniquenessResolver<TLinkAddress>
- Namespace
- Platform.Data.Doublets.Decorators
- Assembly
- Platform.Data.Doublets.dll
Represents the links uniqueness resolver.
public class LinksUniquenessResolver<TLinkAddress> : LinksDecoratorBase<TLinkAddress>, ILinks<TLinkAddress>, ILinks<TLinkAddress, LinksConstants<TLinkAddress>> where TLinkAddress : IUnsignedNumber<TLinkAddress>
Type Parameters
TLinkAddress
- Inheritance
-
LinksOperatorBase<TLinkAddress>LinksDecoratorBase<TLinkAddress>LinksUniquenessResolver<TLinkAddress>
- Implements
-
ILinks<TLinkAddress>ILinks<TLinkAddress, LinksConstants<TLinkAddress>>
- Derived
- Inherited Members
- Extension Methods
Constructors
LinksUniquenessResolver(ILinks<TLinkAddress>)
Initializes a new LinksUniquenessResolver<TLinkAddress> instance.
public LinksUniquenessResolver(ILinks<TLinkAddress> links)
Parameters
linksILinks<TLinkAddress>A links.
Methods
ResolveAddressChangeConflict(TLinkAddress, TLinkAddress, WriteHandler<TLinkAddress>?)
Resolves the address change conflict using the specified old link address.
protected virtual TLinkAddress ResolveAddressChangeConflict(TLinkAddress oldLinkAddress, TLinkAddress newLinkAddress, WriteHandler<TLinkAddress>? handler)
Parameters
oldLinkAddressTLinkAddressThe old link address.
newLinkAddressTLinkAddressThe new link address.
handlerWriteHandler<TLinkAddress>Optional callback; null continues without invoking a callback.
Returns
- TLinkAddress
Callback control (Continue or Break).
Remarks
Cleanup is followed by a survivor-to-survivor notification that identifies the resolved link, including unchanged pairs. Break suppresses later notifications while cleanup completes.
Update(IList<TLinkAddress>?, IList<TLinkAddress>?, WriteHandler<TLinkAddress>?)
Updates the restriction.
public override TLinkAddress Update(IList<TLinkAddress>? restriction, IList<TLinkAddress>? substitution, WriteHandler<TLinkAddress>? handler)
Parameters
restrictionIList<TLinkAddress>The restriction.
substitutionIList<TLinkAddress>The substitution.
handlerWriteHandler<TLinkAddress>Optional callback; null continues without invoking a callback.
Returns
- TLinkAddress
The link
See Also
LinksDecoratorBase<TLinkAddress>