private string AgentArnToSqsQueueUrl()

in functions/source/real-time-adherence/AspectKinesisLamda/AwsSQSFacade.cs [67:89]


        private string AgentArnToSqsQueueUrl(string agentArn)
        {
            _logger.Trace("Beginning AgentArnToSqsQueueUrl");
            try
            {
                if (_numSqsQueues == 1)
                    return _sqsQueueUrls[0];

                using (var algorithm = SHA256.Create())
                {
                    var hash = algorithm.ComputeHash(Encoding.UTF8.GetBytes(agentArn));
                    var i = BitConverter.ToInt64(hash) % _numSqsQueues;
                    if (i < 0)
                        i += _numSqsQueues;
                    _logger.Debug($"AgentARN: {agentArn} SQS Queue index: {i}");
                    return _sqsQueueUrls[i];
                }
            }
            finally
            {
                _logger.Trace("Ending AgentArnToSqsQueueUrl");
            }
        }