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

Initializes a new LinksUniquenessResolver<TLinkAddress> instance.

public LinksUniquenessResolver(ILinks<TLinkAddress> links)

Parameters

links ILinks<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

oldLinkAddress TLinkAddress

The old link address.

newLinkAddress TLinkAddress

The new link address.

handler WriteHandler<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

restriction IList<TLinkAddress>

The restriction.

substitution IList<TLinkAddress>

The substitution.

handler WriteHandler<TLinkAddress>

Optional callback; null continues without invoking a callback.

Returns

TLinkAddress

The link

See Also

LinksDecoratorBase<TLinkAddress>