diff options
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) -> |