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  }