github.com/rudderlabs/rudder-go-kit@v0.30.0/filemanager/base.go (about) 1 package filemanager 2 3 import ( 4 "context" 5 "time" 6 7 "github.com/rudderlabs/rudder-go-kit/logger" 8 ) 9 10 // baseManager is the base struct for all file managers. 11 type baseManager struct { 12 logger logger.Logger 13 timeout time.Duration 14 defaultTimeout func() time.Duration 15 } 16 17 func (manager *baseManager) SetTimeout(timeout time.Duration) { 18 manager.timeout = timeout 19 } 20 21 func (manager *baseManager) getTimeout() time.Duration { 22 if manager.timeout > 0 { 23 return manager.timeout 24 } 25 if manager.defaultTimeout != nil { 26 return manager.defaultTimeout() 27 } 28 return defaultTimeout 29 } 30 31 // baseListSession is the base struct for all list sessions. 32 type baseListSession struct { 33 ctx context.Context 34 startAfter string 35 prefix string 36 maxItems int64 37 }