RawRabbit.Channel.ChannelFactory.Initialize C# (CSharp) Method

Initialize() private method

private Initialize ( ) : void
return void
		internal virtual void Initialize()
		{
			_logger.LogDebug($"Initiating {_channelConfig.InitialChannelCount} channels.");
			for (var i = 0; i < _channelConfig.InitialChannelCount; i++)
			{
				if (i > _channelConfig.MaxChannelCount)
				{
					_logger.LogDebug($"Trying to create channel number {i}, but max allowed channels are {_channelConfig.MaxChannelCount}");
					continue;
				}
				CreateAndWireupAsync().Wait();
			}
			_current = _channels.First;

			if (_channelConfig.EnableScaleDown || _channelConfig.EnableScaleUp)
			{
				_logger.LogInformation($"Scaling is enabled with interval set to {_channelConfig.ScaleInterval}.");
				_scaleTimer = new Timer(state =>
				{
					AdjustChannelCount(_channels.Count, _requestQueue.Count);
				}, null, _channelConfig.ScaleInterval, _channelConfig.ScaleInterval);
			}
			else
			{
				_logger.LogInformation("Channel scaling is disabled.");
			}
		}