Beispiel #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SqsAcknowledger"/> class.
 /// </summary>
 /// <param name="client">Amazon client</param>
 /// <param name="configuration">injected configuration</param>
 /// <param name="logger">injected logger</param>
 protected SqsAcknowledger(AmazonSQSClient client, ISqsSettings configuration, ILogger logger)
     : base(client, configuration, logger)
 {
     Arguments.NotNull(client, nameof(client));
     Arguments.NotNull(configuration, nameof(configuration));
     Arguments.NotNull(logger, nameof(logger));
 }
Beispiel #2
0
        /// <summary>
        /// encasulates the create connection logic
        /// </summary>
        /// <param name="config">configuration options</param>
        /// <returns>redis connection</returns>
        private ISqsConnection OnCreate(ISqsSettings config)
        {
            var sqsConfig = new AmazonSQSConfig
            {
                ////sqsConfig.Timeout = TimeSpan.FromSeconds(5);

                RegionEndpoint = RegionEndpoint.GetBySystemName(config.Region),
            };

            var awsCreds = new BasicAWSCredentials(config.Username, config.Password);

            AmazonSQSClient?temp = null;

            try
            {
                temp = new AmazonSQSClient(awsCreds, sqsConfig);

                var connection = new SqsConnection(temp, config, this.Logger);
                temp = null;

                return(connection);
            }
            finally
            {
                temp?.Dispose();
            }
        }
Beispiel #3
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="SqsQueueManager" /> class.
 /// </summary>
 /// <param name="client">SQS client</param>
 /// <param name="configuration">injected configuration</param>
 /// <param name="logger">injected logger</param>
 public SqsQueueManager(AmazonSQSClient client, ISqsSettings configuration, ILogger logger)
     : base(client, configuration, logger)
 {
     Arguments.NotNull(client, nameof(client));
     Arguments.NotNull(configuration, nameof(configuration));
     Arguments.NotNull(logger, nameof(logger));
 }
Beispiel #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SqsConnection"/> class.
        /// </summary>
        /// <param name="client">injected Amazon client </param>
        /// <param name="configuration">injected configuration</param>
        /// <param name="logger">injected logger</param>
        public SqsConnection(AmazonSQSClient client, ISqsSettings configuration, ILogger logger)
            : base(logger)
        {
            client = Arguments.EnsureNotNull(client, nameof(client));

            this.Client        = client;
            this.Configuration = configuration;

            this.Client.BeforeRequestEvent += this.OnRequestEventHandler;
            this.Client.AfterResponseEvent += this.OnAfterResponseEvent;
            this.Client.ExceptionEvent     += this.OnExceptionEvent;
        }
Beispiel #5
0
 /// <summary>
 /// Create a sqs connection from a config
 /// </summary>
 /// <param name="cfg">configuration</param>
 /// <param name="logger">injected logger</param>
 /// <returns>sqs factory</returns>
 public static ISqsConnectionFactory CreateFactory(ISqsSettings cfg, ILogger logger)
 {
     return(new SqsConnectionFactory(cfg, logger));
 }
Beispiel #6
0
        /// <inheritdoc/>
        public ISqsConnection Create(ISqsSettings configuration)
        {
            configuration = Arguments.EnsureNotNull(configuration, nameof(configuration));

            return(this.OnCreate(configuration));
        }
Beispiel #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SqsConnectionFactory"/> class.
 /// </summary>
 /// <param name="defaultConfiguration">injected default configuration</param>
 /// <param name="logger">injected logger</param>
 public SqsConnectionFactory(ISqsSettings defaultConfiguration, ILogger logger)
     : base(logger)
 {
     this.DefaultOptions = defaultConfiguration;
 }