summaryrefslogtreecommitdiffhomepage
path: root/Storage
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-09-14 14:02:29 -0400
committerJoey Hess <joeyh@joeyh.name>2016-09-14 14:28:56 -0400
commit0a3eb9be07a7514f5544384bc914f22ea88c24a8 (patch)
tree3e9ef44c3d61d4ed451d04b8a1d3e8f9de0dcf7a /Storage
parent8d1185c3884f8125cedf9c4c8060cb5d360e9ef4 (diff)
downloadkeysafe-0a3eb9be07a7514f5544384bc914f22ea88c24a8.tar.gz
Warn when uploads fail and are put in the upload queue.
Diffstat (limited to 'Storage')
-rw-r--r--Storage/Local.hs6
-rw-r--r--Storage/Network.hs8
2 files changed, 7 insertions, 7 deletions
diff --git a/Storage/Local.hs b/Storage/Local.hs
index 71d5aa7..20d0922 100644
--- a/Storage/Local.hs
+++ b/Storage/Local.hs
@@ -7,13 +7,11 @@ module Storage.Local
( localStorage
, storageDir
, testStorageDir
- , uploadQueue
, localDiskUsage
) where
import Types
import Types.Storage
-import Servers
import Serialization ()
import qualified Data.ByteString as B
import qualified Data.ByteString.UTF8 as U8
@@ -41,13 +39,11 @@ localStorage getsharedir n = Storage
, obscureShares = obscure section getsharedir
, countShares = count section getsharedir
, moveShares = move section getsharedir
+ , uploadQueue = Nothing
}
where
section = Section n
-uploadQueue :: Maybe LocalStorageDirectory -> Server -> Storage
-uploadQueue d s = localStorage (storageDir d) ("uploadqueue" </> serverName s)
-
store :: Section -> GetShareDir -> StorableObjectIdent -> Share -> IO StoreResult
store section getsharedir i s = onError (StoreFailure . show) $ do
dir <- getsharedir section
diff --git a/Storage/Network.hs b/Storage/Network.hs
index 21909d4..9b586b3 100644
--- a/Storage/Network.hs
+++ b/Storage/Network.hs
@@ -11,17 +11,21 @@ module Storage.Network (
import Types
import Types.Storage
+import Storage.Local
import Servers
import HTTP.Client
import HTTP.ProofOfWork
+import System.FilePath
-networkStorage :: Server -> Storage
-networkStorage server = Storage
+networkStorage :: Maybe LocalStorageDirectory -> Server -> Storage
+networkStorage localdir server = Storage
{ storeShare = store server
, retrieveShare = retrieve server
, obscureShares = obscure server
, countShares = count server
, moveShares = move server
+ , uploadQueue = Just $ localStorage (storageDir localdir)
+ ("uploadqueue" </> serverName server)
}
store :: Server -> StorableObjectIdent -> Share -> IO StoreResult