summaryrefslogtreecommitdiffhomepage
path: root/Storage
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-10-06 13:54:52 -0400
committerJoey Hess <joeyh@joeyh.name>2016-10-06 13:54:52 -0400
commitb40d441c52f37584653e74fada9906cc8105c9f7 (patch)
tree737396d6ab61212cad52555c7bc99dedd167b330 /Storage
parent54d3bfbb98958cb49399f1a7f092fa43593ef4c8 (diff)
downloadkeysafe-b40d441c52f37584653e74fada9906cc8105c9f7.tar.gz
move level from Server to Storage
This allows local storage locations to have levels too, and also get shuffled nicely. This commit was sponsored by Ethan Aubin.
Diffstat (limited to 'Storage')
-rw-r--r--Storage/Local.hs5
-rw-r--r--Storage/Network.hs7
2 files changed, 7 insertions, 5 deletions
diff --git a/Storage/Local.hs b/Storage/Local.hs
index e061831..6dcaaae 100644
--- a/Storage/Local.hs
+++ b/Storage/Local.hs
@@ -35,13 +35,14 @@ type GetShareDir = Section -> IO FilePath
newtype Section = Section String
-localStorage :: GetShareDir -> String -> Storage
-localStorage getsharedir n = Storage
+localStorage :: StorageLevel -> GetShareDir -> String -> Storage
+localStorage storagelevel getsharedir n = Storage
{ storeShare = store section getsharedir
, retrieveShare = retrieve section getsharedir
, obscureShares = obscure section getsharedir
, countShares = count section getsharedir
, moveShares = move section getsharedir
+ , storageLevel = storagelevel
, uploadQueue = Nothing
, getServer = Nothing
}
diff --git a/Storage/Network.hs b/Storage/Network.hs
index f8169c9..e2004cc 100644
--- a/Storage/Network.hs
+++ b/Storage/Network.hs
@@ -17,15 +17,16 @@ import HTTP.Client
import HTTP.ProofOfWork
import System.FilePath
-networkStorage :: Maybe LocalStorageDirectory -> Server -> Storage
-networkStorage localdir server = Storage
+networkStorage :: StorageLevel -> Maybe LocalStorageDirectory -> Server -> Storage
+networkStorage storagelevel localdir server = Storage
{ storeShare = store server
, retrieveShare = retrieve server
, obscureShares = obscure server
, countShares = count server
, moveShares = move server
- , uploadQueue = Just $ localStorage (storageDir localdir)
+ , uploadQueue = Just $ localStorage storagelevel (storageDir localdir)
("uploadqueue" </> name)
+ , storageLevel = storagelevel
, getServer = Just server
}
where