@@ -361,47 +361,59 @@ func (f sessionFactory) buildInitiatorSettings(session *session, settings *Sessi
361361
362362 session .ReconnectInterval = 30 * time .Second
363363 if settings .HasSetting (config .ReconnectInterval ) {
364-
365- interval , err := settings .IntSetting (config .ReconnectInterval )
364+ interval , err := settings .DurationSetting (config .ReconnectInterval )
366365 if err != nil {
367- return err
366+ intervalInt , err := settings .IntSetting (config .ReconnectInterval )
367+ if err != nil {
368+ return err
369+ }
370+
371+ session .ReconnectInterval = time .Duration (intervalInt ) * time .Second
372+ } else {
373+ session .ReconnectInterval = interval
368374 }
369375
370- if interval <= 0 {
376+ if session . ReconnectInterval <= 0 {
371377 return errors .New ("ReconnectInterval must be greater than zero" )
372378 }
373-
374- session .ReconnectInterval = time .Duration (interval ) * time .Second
375379 }
376380
377381 session .LogoutTimeout = 2 * time .Second
378382 if settings .HasSetting (config .LogoutTimeout ) {
379-
380- timeout , err := settings .IntSetting (config .LogoutTimeout )
383+ timeout , err := settings .DurationSetting (config .LogoutTimeout )
381384 if err != nil {
382- return err
383- }
385+ timeoutInt , err := settings .IntSetting (config .LogoutTimeout )
386+ if err != nil {
387+ return err
388+ }
384389
385- if timeout <= 0 {
386- return errors .New ("LogoutTimeout must be greater than zero" )
390+ session .LogoutTimeout = time .Duration (timeoutInt ) * time .Second
391+ } else {
392+ session .LogoutTimeout = timeout
387393 }
388394
389- session .LogoutTimeout = time .Duration (timeout ) * time .Second
395+ if session .LogoutTimeout <= 0 {
396+ return errors .New ("LogonTimeout must be greater than zero" )
397+ }
390398 }
391399
392400 session .LogonTimeout = 10 * time .Second
393401 if settings .HasSetting (config .LogonTimeout ) {
394-
395- timeout , err := settings .IntSetting (config .LogonTimeout )
402+ timeout , err := settings .DurationSetting (config .LogonTimeout )
396403 if err != nil {
397- return err
404+ timeoutInt , err := settings .IntSetting (config .LogonTimeout )
405+ if err != nil {
406+ return err
407+ }
408+
409+ session .LogonTimeout = time .Duration (timeoutInt ) * time .Second
410+ } else {
411+ session .LogonTimeout = timeout
398412 }
399413
400- if timeout <= 0 {
414+ if session . LogonTimeout <= 0 {
401415 return errors .New ("LogonTimeout must be greater than zero" )
402416 }
403-
404- session .LogonTimeout = time .Duration (timeout ) * time .Second
405417 }
406418
407419 return f .configureSocketConnectAddress (session , settings )
0 commit comments