public RedisBufferDataProvider(IApiMeterConfiguration configuration)
            : base(configuration)
        {
            _client = new RedisClient(base.configuration.RedisServerUrl, base.configuration.RedisServerPort);
            _client.ConnectTimeout = base.configuration.RedisConnectionTimeout;
            _client.SendTimeout = base.configuration.RedisSendTimeout;

        }
        public void LoadConfiguration()
        {
            Mock<IApiMeterConfiguration> configMock = new Moq.Mock<IApiMeterConfiguration>();
            configMock.SetupProperty(d => d.RedisServerUrl, "localhost");
            configMock.SetupProperty(d => d.RedisServerPort, 6379);
            configMock.SetupProperty(d => d.RedisConnectionTimeout, 1000);
            configMock.SetupProperty(d => d.RedisSendTimeout, 500);
            configMock.SetupProperty(d => d.RedisTimeToLive, 30);

            configuration = configMock.Object;

            data = RequestResponseDataGenerator.GetSample();
        }
 /// <summary>
 /// Public default constructor to initiate a buffer data provider with specified configuration
 /// </summary>
 /// <param name="configuration"></param>
 public BufferDataProviderBase(IApiMeterConfiguration configuration)
 {
     this.configuration = configuration;
 }
 public KafkaBufferDataProvider(IApiMeterConfiguration configuration) : base(configuration) { }
 public void WriteRequestResponse(IApiMeterConfiguration apiConfiguration, RequestResponseData data)
 {
     RedisBufferDataProvider dataProvider = new RedisBufferDataProvider(apiConfiguration);
     dataProvider.Write(data);
 }