Interface IUpdateConstraint

The constraint to be applied to an update operation or the creation of an update stream.

Namespace: PushTechnology.ClientInterface.Client.Features
Assembly: Diffusion.Client.dll
Syntax
public interface IUpdateConstraint
Remarks

Constraints describe a condition that must be satisfied for an operation to succeed. Constraints can be applied to the setting of a value or creation of an update stream. Constraints are only evaluated on the server.

The constraints are evaluated using the:

  • active session locks
  • existence of the topic
  • current value of the topic

The value of a topic can be described in several ways. The value can be described as an exact value, a partial value or an unset value.

Constraints can be composed with one another using logical ANDs or ORs. It is possible to compose a constraint that can never be satisfied although certain combinations, such as ANDing two incompatible constraints, are prevented. Multiple session locks can be held but a topic can only have a single value.

Constraints can be created using a IUpdateConstraintFactory, an instance of which can be obtained using UpdateConstraints.

For example:

var factory = Diffusion.UpdateConstraints;
var constraint = factory.Locked(lock).And( factory.Value( EQ, expectedValue ) );

Methods

And(IUpdateConstraint)

Creates a composed constraint that represents a logical AND of this constraint and another.

Declaration
IUpdateConstraint And(IUpdateConstraint other)
Parameters
Type Name Description
IUpdateConstraint other

The constraint that will be logically-ANDed with the current constraint.

Returns
Type Description
IUpdateConstraint

The newly composed constraint that represents a logical AND of the current constraint and the other constraint.

Or(IUpdateConstraint)

Creates a composed constraint that represents a logical OR of this constraint and another.

Declaration
IUpdateConstraint Or(IUpdateConstraint other)
Parameters
Type Name Description
IUpdateConstraint other

The constraint that will be logically-ORed with the current constraint.

Returns
Type Description
IUpdateConstraint

The newly composed constraint that represents a logical OR of the current constraint and the other constraint.

Remarks

Since 6.10.

Back to top