From 7685213346e5f3d5fc2977613cd0d16966f0e40c Mon Sep 17 00:00:00 2001 From: anonyindian Date: Fri, 30 Jun 2023 17:58:45 +0530 Subject: [PATCH] return error if hash not found --- errors.go | 2 ++ manager.go | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/errors.go b/errors.go index f65740f..ec5308f 100644 --- a/errors.go +++ b/errors.go @@ -8,4 +8,6 @@ var ( ErrNotSupported = errors.New("file you're trying to download is not supported yet") ErrDownloadNotFound = errors.New("Item you are trying to download is not found") + + ErrFlushHashNotFound = errors.New("Item you are trying to flush is not found") ) diff --git a/manager.go b/manager.go index 9a6e6dd..ee62676 100644 --- a/manager.go +++ b/manager.go @@ -286,6 +286,12 @@ func (m *Manager) Flush() error { func (m *Manager) FlushOne(hash string) error { m.fmu.RLock() defer m.fmu.RUnlock() + m.mu.RLock() + _, found := m.items[hash] + m.mu.RUnlock() + if !found { + return ErrFlushHashNotFound + } m.deleteItem(hash) m.encode(m.items) return os.RemoveAll(GetPath(DlDataDir, hash))