github.com/mondo192/jfrog-client-go@v1.0.0/utils/errorsqueue.go (about) 1 package utils 2 3 import "github.com/mondo192/jfrog-client-go/utils/log" 4 5 type ErrorsQueue struct { 6 errorsChan chan error 7 } 8 9 func NewErrorsQueue(size int) *ErrorsQueue { 10 queueSize := 1 11 if size > 1 { 12 queueSize = size 13 } 14 return &ErrorsQueue{errorsChan: make(chan error, queueSize)} 15 } 16 17 func (errQueue *ErrorsQueue) AddError(err error) { 18 log.Error(err.Error()) 19 select { 20 case errQueue.errorsChan <- err: 21 default: 22 return 23 } 24 } 25 26 func (errQueue *ErrorsQueue) GetError() error { 27 select { 28 case err := <-errQueue.errorsChan: 29 return err 30 default: 31 return nil 32 } 33 }