summaryrefslogtreecommitdiff
path: root/src/storage.erl
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-03-02 00:27:59 +0100
committerMagnus Ahltorp <map@kth.se>2017-03-08 23:23:13 +0100
commit12e08090358383c5678417ae8929fca1f03ca8bc (patch)
tree160e002958b6523d8a0e9f71bccad5a77c018ce2 /src/storage.erl
parent04f5784a9af4cf49dd8a08ff4c64035272cfd370 (diff)
Statusserver
Diffstat (limited to 'src/storage.erl')
-rw-r--r--src/storage.erl14
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) ->