summaryrefslogtreecommitdiff
path: root/src/db.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.erl')
-rw-r--r--src/db.erl19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/db.erl b/src/db.erl
index 0b9e9a2..f204f76 100644
--- a/src/db.erl
+++ b/src/db.erl
@@ -7,7 +7,7 @@
%% API.
-export([start_link/0, stop/0]).
-export([create_size_table/0]).
--export([add/2, add_entryhash/2, set_treesize/1, size/0]).
+-export([add_entry_sync/2, add_entry_nosync/2, sync_entry_db/0, add_entryhash/2, set_treesize/1, size/0]).
-export([add_index_nosync_noreverse/2]).
-export([verifiedsize/0, set_verifiedsize/1]).
-export([sendsth_verified/0, set_sendsth_verified/2]).
@@ -75,14 +75,27 @@ stop() ->
%%%%%%%%%%%%%%%%%%%%
%% Public API.
--spec add(binary(), binary()) -> ok.
-add(LeafHash, Data) ->
+-spec add_entry_sync(binary(), binary()) -> ok.
+add_entry_sync(LeafHash, Data) ->
lager:debug("add leafhash ~s", [mochihex:to_hex(LeafHash)]),
ok = perm:addvalue(entry_db, LeafHash, Data),
perm:commit(entry_db),
lager:debug("leafhash ~s added", [mochihex:to_hex(LeafHash)]),
ok.
+-spec add_entry_nosync(binary(), binary()) -> ok.
+add_entry_nosync(LeafHash, Data) ->
+ lager:debug("add leafhash ~s", [mochihex:to_hex(LeafHash)]),
+ ok = perm:addvalue(entry_db, LeafHash, Data),
+ lager:debug("leafhash ~s added", [mochihex:to_hex(LeafHash)]),
+ ok.
+
+sync_entry_db() ->
+ lager:debug("committing entry db"),
+ perm:commit(entry_db),
+ lager:debug("committed entry db"),
+ ok.
+
-spec add_entryhash(binary(), binary()) -> ok | differ.
add_entryhash(LeafHash, EntryHash) ->
perm:addvalue(entryhash_db, EntryHash, LeafHash).