Пример #1
0
        public StreamApiRequestSender(
            [NotNull] IClusterProvider clusterProvider,
            [NotNull] ILog log,
            [NotNull] BufferPool bufferPool,
            [CanBeNull] ClusterClientSetup additionalSetup)
        {
            this.log        = log;
            this.bufferPool = bufferPool;

            client = ClusterClientFactory.Create(
                clusterProvider,
                log,
                Constants.ServiceNames.StreamApi,
                config =>
            {
                config.SetupUniversalTransport(
                    new UniversalTransportSettings
                {
                    BufferFactory = bufferPool.Rent
                });
                config.AddResponseTransform(TryDecompress);
                additionalSetup?.Invoke(config);
            });

            responseAnalyzer   = new ResponseAnalyzer(ResponseAnalysisContext.Stream);
            compressionEnabled = LZ4Helper.Enabled;
        }
Пример #2
0
 private async Task ActivateGrains <TGrain>() where TGrain : IPlayerStateWriterGrain
 {
     using var clusterClient = ClusterClientFactory.Create();
     for (var i = 0; i < Counter; i++)
     {
         await clusterClient.GetGrain <TGrain>(_grainIds[i]).ReadPlayerDetailAsync();
     }
 }
Пример #3
0
        public void Setup()
        {
            var clusterClient = ClusterClientFactory.Create();

            Console.WriteLine("Initializing SMS Provider Test");
            _smsProviderGrain = clusterClient.GetGrain <ISMSProviderProducerGrain>(Guid.NewGuid());

            Console.WriteLine("Initializing Kafka Provider Test");
            _kafkaProviderGrain = clusterClient.GetGrain <IKafkaProviderProducerGrain>(Guid.NewGuid());
        }
 public void Setup()
 {
     var clusterClient = ClusterClientFactory.Create();
     
     _memoryPlayerStateWritesGrain = clusterClient.GetGrain<IMemoryPlayerStateWritesGrain>(Guid.NewGuid());
     _mongoPlayerStateWriterGrain = clusterClient.GetGrain<IMongoPlayerStateWriterGrain>(Guid.NewGuid());
     _dynamoPlayerStateWriterGrain = clusterClient.GetGrain<IDynamoPlayerStateWriterGrain>(Guid.NewGuid());
     _postgresPlayerStateWriterGrain = clusterClient.GetGrain<IPostgresPlayerStateWriterGrain>(Guid.NewGuid());
     _redisPlayerStateWriterGrain = clusterClient.GetGrain<IRedisPlayerStateWriterGrain>(Guid.NewGuid());
 }
Пример #5
0
 public GateRequestSender(
     [NotNull] IClusterProvider clusterProvider,
     [NotNull] ILog log,
     [NotNull] BufferPool bufferPool,
     [CanBeNull] ClusterClientSetup additionalSetup)
 {
     this.log           = log;
     this.bufferPool    = bufferPool;
     client             = ClusterClientFactory.Create(clusterProvider, log, Constants.ServiceNames.Gate, additionalSetup);
     responseAnalyzer   = new ResponseAnalyzer(ResponseAnalysisContext.Stream);
     compressionEnabled = LZ4Helper.Enabled;
 }
Пример #6
0
        public HerculesManagementClient([NotNull] HerculesManagementClientSettings settings, [CanBeNull] ILog log)
        {
            this.log = log = (log ?? LogProvider.Get()).ForContext <HerculesManagementClient>();

            client = ClusterClientFactory.Create(
                settings.Cluster,
                log,
                Constants.ServiceNames.ManagementApi,
                config =>
            {
                config.AddRequestTransform(new ApiKeyRequestTransform(settings.ApiKeyProvider));
                settings.AdditionalSetup?.Invoke(config);
            });
        }
Пример #7
0
        private async Task CreateGrains()
        {
            using var clusterClient = ClusterClientFactory.Create();
            _grainIds = new List <Guid>();

            var randomizer = new Faker().Random;

            for (var i = 0; i < Counter; i++)
            {
                var grainId   = Guid.NewGuid();
                var firstName = randomizer.String2(10);
                var lastName  = randomizer.String2(12);

                await PersistGrain <IMemoryPlayerStateWritesGrain>(clusterClient, grainId, firstName, lastName);
                await PersistGrain <IMongoPlayerStateWriterGrain>(clusterClient, grainId, firstName, lastName);
                await PersistGrain <IDynamoPlayerStateWriterGrain>(clusterClient, grainId, firstName, lastName);
                await PersistGrain <IPostgresPlayerStateWriterGrain>(clusterClient, grainId, firstName, lastName);
                await PersistGrain <IRedisPlayerStateWriterGrain>(clusterClient, grainId, firstName, lastName);

                _grainIds.Add(grainId);
            }
        }
        public HerculesTimelineClient([NotNull] HerculesTimelineClientSettings <T> settings, [CanBeNull] ILog log)
        {
            this.log = log = (log ?? LogProvider.Get()).ForContext <HerculesTimelineClient>();

            bufferPool = new BufferPool(settings.MaxPooledBufferSize, settings.MaxPooledBuffersPerBucket);

            client = ClusterClientFactory.Create(
                settings.Cluster,
                log,
                Constants.ServiceNames.TimelineApi,
                config =>
            {
                config.SetupUniversalTransport(
                    new UniversalTransportSettings
                {
                    BufferFactory = bufferPool.Rent
                });
                config.AddRequestTransform(new ApiKeyRequestTransform(settings.ApiKeyProvider));
                settings.AdditionalSetup?.Invoke(config);
            });

            responseAnalyzer     = new ResponseAnalyzer(ResponseAnalysisContext.Timeline);
            eventBuilderProvider = settings.EventBuilderProvider;
        }
 public void Setup()
 {
     _clusterClient = ClusterClientFactory.Create();
 }