@@ -22,19 +22,22 @@ public struct RedisConfiguration {
2222 public var connectionBackoffFactor : Float32
2323 public var initialConnectionBackoffDelay : TimeAmount
2424 public var connectionRetryTimeout : TimeAmount ?
25+ public var onUnexpectedConnectionClose : ( ( RedisConnection ) -> Void ) ?
2526
2627 public init (
2728 maximumConnectionCount: RedisConnectionPoolSize = . maximumActiveConnections( 2 ) ,
2829 minimumConnectionCount: Int = 0 ,
2930 connectionBackoffFactor: Float32 = 2 ,
3031 initialConnectionBackoffDelay: TimeAmount = . milliseconds( 100 ) ,
31- connectionRetryTimeout: TimeAmount ? = nil
32+ connectionRetryTimeout: TimeAmount ? = nil ,
33+ onUnexpectedConnectionClose: ( ( RedisConnection ) -> Void ) ? = nil
3234 ) {
3335 self . maximumConnectionCount = maximumConnectionCount
3436 self . minimumConnectionCount = minimumConnectionCount
3537 self . connectionBackoffFactor = connectionBackoffFactor
3638 self . initialConnectionBackoffDelay = initialConnectionBackoffDelay
3739 self . connectionRetryTimeout = connectionRetryTimeout
40+ self . onUnexpectedConnectionClose = onUnexpectedConnectionClose
3841 }
3942 }
4043
@@ -121,6 +124,7 @@ extension RedisConnectionPool.Configuration {
121124 connectionBackoffFactor: config. pool. connectionBackoffFactor,
122125 initialConnectionBackoffDelay: config. pool. initialConnectionBackoffDelay,
123126 connectionRetryTimeout: config. pool. connectionRetryTimeout,
127+ onUnexpectedConnectionClose: config. pool. onUnexpectedConnectionClose,
124128 poolDefaultLogger: defaultLogger
125129 )
126130 }
0 commit comments