public static TGrainInterface GetPartitionGrain <TGrainInterface>(this IClientSetPartitioner <TGrainInterface> partitioner, IGrainFactory grainFactory, string clientSetId, Guid hubTypeId) where TGrainInterface : IClientSetPartitionGrain { var partitionId = partitioner.GetPartitionId(clientSetId, hubTypeId); return(grainFactory.GetGrain <TGrainInterface>(HubTypedKeyUtils.ToHubTypedKeyString(partitionId, hubTypeId))); }
public SampleHub(IOptions <OrleansOptions <SampleHub> > options, IClientSetPartitioner <IGroupPartitionGrain> groupPartitioner, IClientSetPartitioner <IUserPartitionGrain> userPartitioner) { _clusterClient = options.Value.ClusterClient; _groupPartitioner = groupPartitioner; _userPartitioner = userPartitioner; }
public ClientGrain(IClientSetPartitioner <IGroupPartitionGrain> groupPartitioner, IClientSetPartitioner <IUserPartitionGrain> userPartitioner, ILogger <ClientGrain> logger) { _groupPartitioner = groupPartitioner; _userPartitioner = userPartitioner; _logger = logger; }
public OrleansHubLifetimeManager(IOptions <OrleansOptions <THub> > options, IClientSetPartitioner <IGroupPartitionGrain> groupPartitioner, IClientSetPartitioner <IUserPartitionGrain> userPartitioner, IUserIdProvider userIdProvider, ILogger <OrleansHubLifetimeManager <THub> > logger) { _options = options.Value; _clusterClient = options.Value.ClusterClient; _groupPartitioner = groupPartitioner; _userPartitioner = userPartitioner; _userIdProvider = userIdProvider; _logger = logger; }
public static async Task <IEnumerable <string> > GetAllClientSetIdsAsync <TGrainInterface>(this IClientSetPartitioner <TGrainInterface> partitioner, IGrainFactory grainFactory, Guid hubTypeId) where TGrainInterface : IClientSetPartitionGrain { var tasks = partitioner.GetAllPartitionGrains(grainFactory, hubTypeId).Select(partition => partition.GetClientSetIdsAsync()); var result = await Task.WhenAll(tasks); return(result.SelectMany(_ => _)); }
public static IEnumerable <TGrainInterface> GetAllPartitionGrains <TGrainInterface>(this IClientSetPartitioner <TGrainInterface> partitioner, IGrainFactory grainFactory, Guid hubTypeId) where TGrainInterface : IClientSetPartitionGrain { var partitionIds = partitioner.GetPartitionIds(hubTypeId); return(partitionIds.Select(id => grainFactory.GetGrain <TGrainInterface>(HubTypedKeyUtils.ToHubTypedKeyString(id, hubTypeId)))); }
public SampleGrain(IClientSetPartitioner <IGroupPartitionGrain> groupPartitioner, IClientSetPartitioner <IUserPartitionGrain> userPartitioner) { _groupPartitioner = groupPartitioner; _userPartitioner = userPartitioner; }