github.com/0chain/gosdk@v1.17.11/zboxcore/sdk/live_upload_option.go (about) 1 package sdk 2 3 // LiveUploadOption set live upload option 4 type LiveUploadOption func(lu *LiveUpload) 5 6 // WithLiveDelay set number of seconds to wait before starting the live upload. Ignore if less than 0. 7 // - delaySeconds: number of seconds 8 func WithLiveDelay(delaySeconds int) LiveUploadOption { 9 return func(lu *LiveUpload) { 10 if delaySeconds > 0 { 11 lu.delay = delaySeconds 12 } 13 } 14 } 15 16 // WithLiveChunkNumber set the number of chunks should be upload in a live upload request. Ignore if size <=0. 17 // - num: number of chunks 18 func WithLiveChunkNumber(num int) LiveUploadOption { 19 return func(lu *LiveUpload) { 20 if num > 0 { 21 lu.chunkNumber = num 22 } 23 } 24 } 25 26 // WithLiveEncrypt trun on/off encrypt on upload. It is turned off by default. 27 // - status: true to turn on, false to turn off 28 func WithLiveEncrypt(status bool) LiveUploadOption { 29 return func(lu *LiveUpload) { 30 lu.encryptOnUpload = status 31 } 32 } 33 34 // WithLiveStatusCallback register StatusCallback instance to track live upload progress 35 // - callback: StatusCallback instance 36 func WithLiveStatusCallback(callback func() StatusCallback) LiveUploadOption { 37 return func(lu *LiveUpload) { 38 lu.statusCallback = callback 39 } 40 }