/// <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)); }
/// <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(); } }
/// <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)); }
/// <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; }
/// <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)); }
/// <inheritdoc/> public ISqsConnection Create(ISqsSettings configuration) { configuration = Arguments.EnsureNotNull(configuration, nameof(configuration)); return(this.OnCreate(configuration)); }
/// <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; }