/// <summary> /// Constructor for creating a <see cref="ResilientConnectionMultiplexer"/>. /// </summary> /// <param name="connectionMultiplexerFactory">A synchronous factory for creating a <see cref="ConnectionMultiplexer"/>.</param> /// <param name="configuration">The configuration for configuring the <see cref="TryReconnect"/> method.</param> public ResilientConnectionMultiplexer( Func <ConnectionMultiplexer> connectionMultiplexerFactory, ResilientConnectionConfiguration configuration = null) : this( connectionMultiplexerFactory, () => Task.FromResult(connectionMultiplexerFactory()), configuration) { }
/// <summary> /// Constructor for creating a <see cref="ResilientConnectionMultiplexer"/>. /// </summary> /// <param name="connectionMultiplexerFactory">A synchronous factory for creating a <see cref="ConnectionMultiplexer"/>.</param> /// <param name="connectionMultiplexerAsyncFactory">A asynchronous factory for creating a <see cref="ConnectionMultiplexer"/>.</param> /// <param name="configuration">The configuration for configuring the <see cref="TryReconnect"/> method.</param> public ResilientConnectionMultiplexer( Func <ConnectionMultiplexer> connectionMultiplexerFactory, Func <Task <ConnectionMultiplexer> > connectionMultiplexerAsyncFactory, ResilientConnectionConfiguration configuration = null) { _connectionMultiplexerFactory = connectionMultiplexerFactory; _connectionMultiplexerAsyncFactory = connectionMultiplexerAsyncFactory; configuration = configuration ?? new ResilientConnectionConfiguration(); _reconnectMinFrequency = configuration.ReconnectMinFrequency; _reconnectErrorThreshold = configuration.ReconnectErrorThreshold; _connectionMultiplexer = _connectionMultiplexerFactory(); }