Orleans.Concurrency Namespace

Classes

AlwaysInterleaveAttribute

The AlwaysInterleaveAttribute attribute is used to mark methods that can interleave with any method, including write (non ReadOnly) requests.

ImmutableAttribute

The Immutable attribute indicates that instances of the marked class or struct are never modified after they are created.

ImmutableExt

Utility class to add the .AsImmutable method to all objects.

ImmutableExtensions

Utility class to add the .AsImmutable method to all objects.

MayInterleaveAttribute

The MayInterleaveAttribute attribute is used to mark classes that want to control request interleaving via supplied method callback.

OneWayAttribute

Indicates that a method on a grain interface is one-way and that no response message will be sent to the caller.

ReadOnlyAttribute

The ReadOnly attribute is used to mark methods that do not modify the state of a grain.

Marking methods as ReadOnly allows the run-time system to perform a number of optimizations that may significantly improve the performance of your application.

ReentrantAttribute

The Reentrant attribute is used to mark grain implementation classes that allow request interleaving within a task.

This is an advanced feature and should not be used unless the implications are fully understood. That said, allowing request interleaving allows the run-time system to perform a number of optimizations that may significantly improve the performance of your application.

StatelessWorkerAttribute

The StatelessWorker attribute is used to mark grain class in which there is no expectation of preservation of grain state between requests and where multiple activations of the same grain are allowed to be created by the runtime.

UnorderedAttribute

The Unordered attribute is used to mark grain interface in which the delivery order of messages is not significant.

Structs

Immutable<T>

Wrapper class for carrying immutable data.