From b2dbf856fa6603abc73899df764967413c624f04 Mon Sep 17 00:00:00 2001 From: Gregory Eremin Date: Wed, 10 Sep 2014 15:38:46 +0400 Subject: [PATCH] Storage returns errors instead of bool --- storage/storage.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/storage/storage.go b/storage/storage.go index 5e85f2f..63ee07a 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -35,13 +35,12 @@ func New(path string) (s *Storage, err error) { 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 { s.counters[queue] = newCounter(0, 0) } var index uint - select { case index = <-s.counters[queue].stream: case <-abort: @@ -49,15 +48,13 @@ func (s *Storage) Get(queue string, abort <-chan struct{}) (message []byte, ok b } key := makeKey(queue, index) - message, err := s.kyoto.Get(key) - if err != nil { + if message, err = s.kyoto.Get(key); err != nil { return } if err = s.kyoto.Remove(key); err != nil { return } - ok = true return }