diff options
author | Magnus Ahltorp <map@kth.se> | 2017-03-02 00:27:59 +0100 |
---|---|---|
committer | Magnus Ahltorp <map@kth.se> | 2017-03-08 23:23:13 +0100 |
commit | 12e08090358383c5678417ae8929fca1f03ca8bc (patch) | |
tree | 160e002958b6523d8a0e9f71bccad5a77c018ce2 /src/storage.erl | |
parent | 04f5784a9af4cf49dd8a08ff4c64035272cfd370 (diff) |
Statusserver
Diffstat (limited to 'src/storage.erl')
-rw-r--r-- | src/storage.erl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/storage.erl b/src/storage.erl index 7498635..6114a57 100644 --- a/src/storage.erl +++ b/src/storage.erl @@ -9,6 +9,18 @@ -define(APPURL_PLOP_STORAGE, "plop/v1/storage"). +reportnewentries() -> + NodeName = http_auth:own_name(), + {LastIndexOrZero, LastHash} = storagedb:lastverifiednewentry(), + VerifiedEntries = case LastHash of + none -> + 0; + _ -> + LastIndexOrZero + 1 + end, + NewEntries = index:indexsize(newentries_db) - VerifiedEntries, + statusreport:report("storage", NodeName, "newentries", NewEntries). + request(post, ?APPURL_PLOP_STORAGE, "sendentry", Input) -> case (catch mochijson2:decode(Input)) of {error, E} -> @@ -20,6 +32,7 @@ request(post, ?APPURL_PLOP_STORAGE, "sendentry", Input) -> ok = db:add_entry_sync(TreeLeafHash, LogEntry), ok = storagedb:add(TreeLeafHash), {KeyName, Sig} = http_auth:sign_stored(plop:spt_data_from_entry(LogEntry)), + reportnewentries(), success({[{result, <<"ok">>}, {"sig", KeyName ++ ":" ++ base64:encode_to_string(Sig)} ]}) @@ -55,6 +68,7 @@ request(get, ?APPURL_PLOP_STORAGE, "fetchnewentries", _Input) -> Entries = lists:map(fun(LeafHash) -> base64:encode(LeafHash) end, NewHashes), + reportnewentries(), success({[{result, <<"ok">>}, {entries, Entries}]}); request(get, ?APPURL_PLOP_STORAGE, "getentry", Query) -> |