internal IndexWorkflowQueueHandlerGrainService(SiloIndexManager sim, Type grainInterfaceType, int queueSeqNum, bool isDefinedAsFaultTolerantGrain) : base(IndexWorkflowQueueHandlerBase.CreateIndexWorkflowQueueHandlerGrainReference(sim, grainInterfaceType, queueSeqNum, sim.SiloAddress).GrainIdentity, sim.Silo, sim.LoggerFactory) { _base = new IndexWorkflowQueueHandlerBase(sim, grainInterfaceType, queueSeqNum, sim.SiloAddress, isDefinedAsFaultTolerantGrain, () => base.GetGrainReference()); // lazy is needed because the runtime isn't attached until Registered }
private IIndexWorkflowQueueHandler InitWorkflowQueueHandler() => __handler = _lazyParent.Value.IsGrainService ? SiloIndexManager.GetGrainService <IIndexWorkflowQueueHandler>( IndexWorkflowQueueHandlerBase.CreateIndexWorkflowQueueHandlerGrainReference(SiloIndexManager, _grainInterfaceType, _queueSeqNum, _silo)) : SiloIndexManager.GrainFactory.GetGrain <IIndexWorkflowQueueHandler>(CreateIndexWorkflowQueuePrimaryKey(_grainInterfaceType, _queueSeqNum));