public static IGrainLocator GetGrainLocator(IServiceProvider sp) { var customDirectory = sp.GetService <IGrainDirectory>(); var inClusterGrainLocator = new DhtGrainLocator(sp.GetRequiredService <ILocalGrainDirectory>()); return(customDirectory != null ? new GrainLocator(customDirectory, inClusterGrainLocator) : (IGrainLocator)inClusterGrainLocator); }
public GrainLocator( IGrainDirectory grainDirectory, DhtGrainLocator inClusterGrainLocator, IClusterMembershipService clusterMembershipService) { this.grainDirectory = grainDirectory; this.inClusterGrainLocator = inClusterGrainLocator; this.clusterMembershipService = clusterMembershipService; this.cache = new LRUBasedGrainDirectoryCache(GrainDirectoryOptions.DEFAULT_CACHE_SIZE, GrainDirectoryOptions.DEFAULT_MAXIMUM_CACHE_TTL); }
public GrainLocatorResolver( GrainDirectoryResolver grainDirectoryResolver, CachedGrainLocator cachedGrainLocator, DhtGrainLocator dhtGrainLocator, ClientGrainLocator clientGrainLocator) { this.getLocatorInternal = GetGrainLocatorInternal; this.grainDirectoryResolver = grainDirectoryResolver; this.cachedGrainLocator = cachedGrainLocator; this.dhtGrainLocator = dhtGrainLocator; this.clientGrainLocator = clientGrainLocator; }
public GrainLocatorSelector(IGrainDirectoryResolver grainDirectoryResolver, CachedGrainLocator cachedGrainLocator, DhtGrainLocator dhtGrainLocator) { this.grainDirectoryResolver = grainDirectoryResolver; this.cachedGrainLocator = cachedGrainLocator; this.dhtGrainLocator = dhtGrainLocator; }