summaryrefslogtreecommitdiff
path: root/src/storage.erl
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2017-03-15 17:17:58 +0100
committerLinus Nordberg <linus@nordu.net>2017-03-15 17:17:58 +0100
commit598d6ae6d00644c7f6e318cf5a4928ee5a8eb9ca (patch)
tree7653518afa13e7ccc1a3925603d36d85570cb88c /src/storage.erl
parent7e41c7c7630c4a96567029e6b4d7688a7df6ccee (diff)
parent8bb572816040a8ecda50be9687cd1ddc76436f65 (diff)
Merge branch 'map-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) ->