diff options
author | Magnus Ahltorp <map@kth.se> | 2015-01-28 12:15:41 +0100 |
---|---|---|
committer | Magnus Ahltorp <map@kth.se> | 2015-01-28 12:15:41 +0100 |
commit | 80e68e390f3a999c25fb3a153388d6d6d9ec64d7 (patch) | |
tree | b9d7f2caf78d335fa079f4077f176675c25c3442 /src | |
parent | 146911b3485dbe2fe9222d76068b986c936924e0 (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}]}). |