diff options
author | Magnus Ahltorp <map@kth.se> | 2015-01-28 12:15:41 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2015-02-27 02:29:16 +0100 |
commit | d34e60f273b3fef49c80ebf866ce781333f90d79 (patch) | |
tree | 65c248a4ca0e588074c532f2acb2f63635dccdd2 /src | |
parent | 63d054b97f7b75ae8e0d02472a30fd2f6196bfd6 (diff) |
storage/fetchnewentries speedp
storage/fetchnewentries now fetches only hashes
Implmented storage/getentry to actually fetch the entry
Diffstat (limited to 'src')
-rw-r--r-- | src/storage.erl | 10 |
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}]}). |