IMembershipTableSystemTarget Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Membership table interface for system target based implementation.
[Orleans.Concurrency.Unordered]
public interface IMembershipTableSystemTarget : Orleans.IMembershipTable, Orleans.ISystemTarget
[<Orleans.Concurrency.Unordered>]
type IMembershipTableSystemTarget = interface
interface IMembershipTable
interface ISystemTarget
interface IAddressable
Public Interface IMembershipTableSystemTarget
Implements IMembershipTable, ISystemTarget
- Attributes
- Implements
Methods
CleanupDefunctSiloEntries(DateTimeOffset) |
Delete all dead silo entries older than |
DeleteMembershipTableEntries(String) |
Deletes all table entries of the given clusterId (Inherited from IMembershipTable) |
InitializeMembershipTable(Boolean) |
Initializes the membership table, will be called before all other methods (Inherited from IMembershipTable) |
InitializeMembershipTable(GlobalConfiguration, Boolean, Logger) |
Initializes the membership table, will be called before all other methods (Inherited from IMembershipTable) |
InsertRow(MembershipEntry, TableVersion) |
Atomically tries to insert (add) a new MembershipEntry for one silo and also update the TableVersion. If operation succeeds, the following changes would be made to the table:
|
ReadAll() |
Atomically reads the full content of the Membership Table. The returned MembershipTableData includes all MembershipEntry entry for all silos in the table and the TableVersion for this table. The MembershipEntries and the TableVersion have to be read atomically. (Inherited from IMembershipTable) |
ReadRow(SiloAddress) |
Atomically reads the Membership Table information about a given silo. The returned MembershipTableData includes one MembershipEntry entry for a given silo and the TableVersion for this table. The MembershipEntry and the TableVersion have to be read atomically. (Inherited from IMembershipTable) |
UpdateIAmAlive(MembershipEntry) |
Updates the IAmAlive part (column) of the MembershipEntry for this silo. This operation should only update the IAmAlive column and not change other columns. This operation is a "dirty write" or "in place update" and is performed without etag validation. With regards to eTags update: This operation may automatically update the eTag associated with the given silo row, but it does not have to. It can also leave the etag not changed ("dirty write"). With regards to TableVersion: this operation should not change the TableVersion of the table. It should leave it untouched. There is no scenario where this operation could fail due to table semantical reasons. It can only fail due to network problems or table unavailability. (Inherited from IMembershipTable) |
UpdateRow(MembershipEntry, String, TableVersion) |
Atomically tries to update the MembershipEntry for one silo and also update the TableVersion. If operation succeeds, the following changes would be made to the table:
|
Extension Methods
AsReference(IAddressable, Type) |
Returns a typed reference to the provided grain. |
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. |
GetGrainId(IAddressable) |
Returns the grain id corresponding to the provided grain. |
GetPrimaryKey(IAddressable, String) |
Returns the Guid representation of a grain primary key. |
GetPrimaryKey(IAddressable) |
Returns the Guid representation of a grain primary key. |
GetPrimaryKeyLong(IAddressable, String) |
Returns the |
GetPrimaryKeyLong(IAddressable) |
Returns the |
GetPrimaryKeyString(IAddressable) |
Returns the |
IsPrimaryKeyBasedOnLong(IAddressable) |
Returns whether part of the primary key is of type |