| 1234567891011121314151617181920212223 | 
							- package functions
 
- import "v2ray.com/core/common"
 
- // Task is a function that may return an error.
 
- type Task func() error
 
- // CloseOnSuccess returns a Task to run a follow task if pre-condition passes, otherwise the error in pre-condition is returned.
 
- func CloseOnSuccess(pre func() error, followup Task) Task {
 
- 	return func() error {
 
- 		if err := pre(); err != nil {
 
- 			return err
 
- 		}
 
- 		return followup()
 
- 	}
 
- }
 
- // Close returns a Task to close the object.
 
- func Close(obj interface{}) Task {
 
- 	return func() error {
 
- 		return common.Close(obj)
 
- 	}
 
- }
 
 
  |