Storage returns errors instead of bool
This commit is contained in:
parent
5d85154030
commit
b2dbf856fa
@ -35,13 +35,12 @@ func New(path string) (s *Storage, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Storage) Get(queue string, abort <-chan struct{}) (message []byte, ok bool) {
|
func (s *Storage) Get(queue string, abort <-chan struct{}) (message []byte, err error) {
|
||||||
if _, ok := s.counters[queue]; !ok {
|
if _, ok := s.counters[queue]; !ok {
|
||||||
s.counters[queue] = newCounter(0, 0)
|
s.counters[queue] = newCounter(0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
var index uint
|
var index uint
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case index = <-s.counters[queue].stream:
|
case index = <-s.counters[queue].stream:
|
||||||
case <-abort:
|
case <-abort:
|
||||||
@ -49,15 +48,13 @@ func (s *Storage) Get(queue string, abort <-chan struct{}) (message []byte, ok b
|
|||||||
}
|
}
|
||||||
|
|
||||||
key := makeKey(queue, index)
|
key := makeKey(queue, index)
|
||||||
message, err := s.kyoto.Get(key)
|
if message, err = s.kyoto.Get(key); err != nil {
|
||||||
if err != nil {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = s.kyoto.Remove(key); err != nil {
|
if err = s.kyoto.Remove(key); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ok = true
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user