private static RedrivePolicy ExtractRedrivePolicyFromQueueAttributes(Dictionary <string, string> queueAttributes)
 {
     if (!queueAttributes.ContainsKey(JustSayingConstants.AttributeRedrivePolicy))
     {
         return(null);
     }
     return(RedrivePolicy.ConvertFromString(queueAttributes[JustSayingConstants.AttributeRedrivePolicy]));
 }
Example #2
0
 private RedrivePolicy ExtractRedrivePolicyFromQueueAttributes(Dictionary <string, string> queueAttributes)
 {
     if (!queueAttributes.ContainsKey(JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY))
     {
         return(null);
     }
     return(RedrivePolicy.ConvertFromString(queueAttributes[JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY]));
 }
Example #3
0
        private static RedrivePolicy ExtractRedrivePolicyFromQueueAttributes(Dictionary <string, string> queueAttributes)
        {
            if (!queueAttributes.TryGetValue(JustSayingConstants.AttributeRedrivePolicy, out var redrivePolicy))
            {
                return(null);
            }

            return(RedrivePolicy.ConvertFromString(redrivePolicy));
        }
Example #4
0
    public void CanDeserializeIntoRedrivePolicy()
    {
        var policy           = new RedrivePolicy(1, "queue");
        var policySerialized = policy.ToString();

        var outputPolicy = RedrivePolicy.ConvertFromString(policySerialized);

        outputPolicy.MaximumReceives.ShouldBe(policy.MaximumReceives);
        outputPolicy.DeadLetterQueue.ShouldBe(policy.DeadLetterQueue);
    }
Example #5
0
        protected void SetQueueProperties()
        {
            var attributes = GetAttrs(new[]
            {
                JustSayingConstants.ATTRIBUTE_ARN,
                JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY,
                JustSayingConstants.ATTRIBUTE_POLICY,
                JustSayingConstants.ATTRIBUTE_RETENTION_PERIOD,
                JustSayingConstants.ATTRIBUTE_VISIBILITY_TIMEOUT
            });

            Arn = attributes.QueueARN;
            MessageRetentionPeriod = attributes.MessageRetentionPeriod;
            VisibilityTimeout      = attributes.VisibilityTimeout;
            RedrivePolicy          = ExtractRedrivePolicyFromQueueAttributes(attributes.Attributes);
        }
Example #6
0
 public void UpdateRedrivePolicy(RedrivePolicy requestedRedrivePolicy)
 {
     if (RedrivePolicyNeedsUpdating(requestedRedrivePolicy))
     {
         var response = Client.SetQueueAttributes(
             new SetQueueAttributesRequest
         {
             QueueUrl   = Url,
             Attributes = new Dictionary <string, string> {
                 { JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY, requestedRedrivePolicy.ToString() }
             }
         });
         if (response.HttpStatusCode == HttpStatusCode.OK)
         {
             RedrivePolicy = requestedRedrivePolicy;
         }
     }
 }
Example #7
0
        public async Task UpdateRedrivePolicyAsync(RedrivePolicy requestedRedrivePolicy)
        {
            if (RedrivePolicyNeedsUpdating(requestedRedrivePolicy))
            {
                var request = new SetQueueAttributesRequest
                {
                    QueueUrl   = Uri.AbsoluteUri,
                    Attributes = new Dictionary <string, string>
                    {
                        { JustSayingConstants.AttributeRedrivePolicy, requestedRedrivePolicy.ToString() }
                    }
                };

                var response = await Client.SetQueueAttributesAsync(request).ConfigureAwait(false);

                if (response?.HttpStatusCode == HttpStatusCode.OK)
                {
                    RedrivePolicy = requestedRedrivePolicy;
                }
            }
        }
Example #8
0
 private bool RedrivePolicyNeedsUpdating(RedrivePolicy requestedRedrivePolicy)
 {
     return(RedrivePolicy == null || RedrivePolicy.MaximumReceives != requestedRedrivePolicy.MaximumReceives);
 }