Beispiel #1
0
        private async Task Init()
        {
            async Task Register(Identify identify)
            {
                await _gatewayContext.AddClient(identify, _serializerOptions);
            }

            if (_clientConfig.IsAutoSharding)
            {
                _gatewayContext.Init(_clientConfig.Shards, this, Logger);

                for (int i = 0; i < _clientConfig.Shards; i++)
                {
                    await Register(_clientConfig.GetIdentify(new int[]
                    {
                        i,
                        _clientConfig.Shards
                    }));

                    await Task.Delay(6000);
                }
            }
            else
            {
                _gatewayContext.Init(1, this, Logger);

                await Register(_clientConfig.GetIdentify(_clientConfig.Shard));
            }
        }