summaryrefslogtreecommitdiff
path: root/src/storage.erl
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2015-01-28 12:15:41 +0100
committerLinus Nordberg <linus@nordberg.se>2015-02-27 02:29:16 +0100
commitd34e60f273b3fef49c80ebf866ce781333f90d79 (patch)
tree65c248a4ca0e588074c532f2acb2f63635dccdd2 /src/storage.erl
parent63d054b97f7b75ae8e0d02472a30fd2f6196bfd6 (diff)
storage/fetchnewentries speedp
storage/fetchnewentries now fetches only hashes Implmented storage/getentry to actually fetch the entry
Diffstat (limited to 'src/storage.erl')
-rw-r--r--src/storage.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/storage.erl b/src/storage.erl
index 6a49a22..b7acfd7 100644
--- a/src/storage.erl
+++ b/src/storage.erl
@@ -33,9 +33,17 @@ request(get, "ct/storage/fetchnewentries", _Input) ->
NewHashes = storagedb:fetchnewhashes(0),
% XXX send only hashes, implement getentry
Entries = lists:map(fun(LeafHash) ->
+ base64:encode(LeafHash)
+ end, NewHashes),
+ success({[{result, <<"ok">>},
+ {entries, Entries}]});
+request(get, "ct/storage/getentry", Query) ->
+ Hash = base64:decode(proplists:get_value("hash", Query)),
+ Hashes = [Hash],
+ Entries = lists:map(fun(LeafHash) ->
{[{hash, base64:encode(LeafHash)},
{entry, base64:encode(db:entry_for_leafhash(LeafHash))}]}
- end, NewHashes),
+ end, Hashes),
success({[{result, <<"ok">>},
{entries, Entries}]}).