Edit

Share via


LogConsistentGrain<TView> Class

Definition

Base class for all grains that use log-consistency for managing the state. It is the equivalent of Grain<TGrainState> for grains using log-consistency. (SiloAssemblyLoader uses it to extract type)

public abstract class LogConsistentGrain<TView> : Orleans.Grain, Orleans.ILifecycleParticipant<Orleans.Runtime.IGrainLifecycle>
type LogConsistentGrain<'View> = class
    inherit Grain
    interface ILifecycleParticipant<IGrainLifecycle>
Public MustInherit Class LogConsistentGrain(Of TView)
Inherits Grain
Implements ILifecycleParticipant(Of IGrainLifecycle)

Type Parameters

TView

The type of the view

Inheritance
LogConsistentGrain<TView>
Derived
Implements

Constructors

LogConsistentGrain<TView>()
LogConsistentGrain<TView>(IGrainIdentity, IGrainRuntime)

This constructor is particularly useful for unit testing where test code can create a Grain and replace the IGrainIdentity, IGrainRuntime and State with test doubles (mocks/stubs).

Properties

DefaultAdaptorFactory

Gets the default adaptor factory to use, or null if there is no default (in which case user MUST configure a consistency provider)

GrainContext (Inherited from Grain)
GrainFactory

Gets an object which can be used to access other grains. Null if this grain is not associated with a Runtime, such as when created directly for unit testing.

(Inherited from Grain)
GrainReference (Inherited from Grain)
IdentityString

String representation of grain's SiloIdentity including type and primary key.

(Inherited from Grain)
RuntimeIdentity

A unique identifier for the current silo. There is no semantic content to this string, but it may be useful for logging.

(Inherited from Grain)
ServiceProvider

Gets the IServiceProvider managed by the runtime. Null if this grain is not associated with a Runtime, such as when created directly for unit testing.

(Inherited from Grain)

Methods

DeactivateOnIdle()

Deactivate this activation of the grain after the current grain method call is completed. This call will mark this activation of the current grain to be deactivated and removed at the end of the current method. The next call to this grain will result in a different activation to be used, which typical means a new activation will be created automatically by the runtime.

(Inherited from Grain)
DelayDeactivation(TimeSpan)

Delay Deactivation of this activation at least for the specified time duration. A positive timeSpan value means “prevent GC of this activation for that time span”. A negative timeSpan value means “cancel the previous setting of the DelayDeactivation call and make this activation behave based on the regular Activation Garbage Collection settings”. DeactivateOnIdle method would undo / override any current “keep alive” setting, making this grain immediately available for deactivation.

(Inherited from Grain)
GetLogger()

Returns a logger object that this grain's code can use for tracing. The name of the logger will be derived from the grain class name.

(Inherited from Grain)
GetLogger(String)

Returns a logger object that this grain's code can use for tracing.

(Inherited from Grain)
GetReminder(String)

Returns a previously registered reminder.

(Inherited from Grain)
GetReminders()

Returns a list of all reminders registered by the grain.

(Inherited from Grain)
GetStreamProvider(String) (Inherited from Grain)
GetStreamProviders() (Inherited from Grain)
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices)

called right after grain construction to install the log view adaptor

MigrateOnIdle()

Starts an attempt to migrating this instance to another location. Migration captures the current RequestContext, making it available to the activation's placement director so that it can consider it when selecting a new location. Migration will occur asynchronously, when no requests are executing, and will not occur if the activation's placement director does not select an alternative location.

(Inherited from Grain)
OnActivateAsync()

This method is called at the end of the process of activating a grain. It is called before any messages have been dispatched to the grain. For grains with declared persistent state, this method is called after the State property has been populated.

(Inherited from Grain)
OnActivateAsync(CancellationToken)

This method is called at the end of the process of activating a grain. It is called before any messages have been dispatched to the grain. For grains with declared persistent state, this method is called after the State property has been populated.

(Inherited from Grain)
OnDeactivateAsync()

This method is called at the begining of the process of deactivating a grain.

(Inherited from Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

This method is called at the beginning of the process of deactivating a grain.

(Inherited from Grain)
Participate(IGrainLifecycle)
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Registers a persistent, reliable reminder to send regular notifications (reminders) to the grain. The grain must implement the Orleans.IRemindable interface, and reminders for this grain will be sent to the ReceiveReminder callback method. If the current grain is deactivated when the timer fires, a new activation of this grain will be created to receive this reminder. If an existing reminder with the same name already exists, that reminder will be overwritten with this new reminder. Reminders will always be received by one activation of this grain, even if multiple activations exist for this grain.

(Inherited from Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
Obsolete.

Registers a timer to send periodic callbacks to this grain.

(Inherited from Grain)
UnregisterReminder(IGrainReminder)

Unregisters a previously registered reminder.

(Inherited from Grain)

Extension Methods

AsReference<TGrainInterface>(IAddressable)

Returns a typed reference to the provided grain.

BindGrainReference(IAddressable, IGrainFactory)

Binds the grain reference to the provided IGrainFactory.

Cast(IAddressable, Type)

Returns a typed reference to the provided grain.

Cast<TGrainInterface>(IAddressable)

Returns a typed reference to the provided grain.

GetPrimaryKey(IAddressable)

Returns the Guid representation of a grain primary key.

GetPrimaryKey(IAddressable, String)

Returns the Guid representation of a grain primary key.

GetPrimaryKeyLong(IAddressable)

Returns the long representation of a grain primary key.

GetPrimaryKeyLong(IAddressable, String)

Returns the long representation of a grain primary key.

GetPrimaryKeyString(IAddressable)

Returns the string primary key of the grain.

IsPrimaryKeyBasedOnLong(IAddressable)

Returns whether part of the primary key is of type long.

GetLogger(Grain)

Returns a logger object that this grain's code can use for tracing. The name of the logger will be derived from the grain class name.

GetLogger(Grain, String)

Returns a logger object that this grain's code can use for tracing.

GetGrainStorage(Grain, IServiceProvider)

Acquire the storage provider associated with the grain type.

Applies to